diff --git a/builder/.gitignore b/builder/.gitignore new file mode 100644 index 0000000..050c9d9 --- /dev/null +++ b/builder/.gitignore @@ -0,0 +1,17 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# Ignore bundler config. +/.bundle + +# Ignore the default SQLite database. +/db/*.sqlite3 +/db/*.sqlite3-journal + +# Ignore all logfiles and tempfiles. +/log/* +!/log/.keep +/tmp diff --git a/builder/Gemfile b/builder/Gemfile new file mode 100644 index 0000000..bee3a04 --- /dev/null +++ b/builder/Gemfile @@ -0,0 +1,53 @@ +source 'https://rubygems.org' + + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'rails', '4.2.4' +# Use sqlite3 as the database for Active Record +gem 'sqlite3' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 5.0' +# Use Uglifier as compressor for JavaScript assets +gem 'uglifier', '>= 1.3.0' +# Use CoffeeScript for .coffee assets and views +gem 'coffee-rails', '~> 4.1.0' +# See https://github.com/rails/execjs#readme for more supported runtimes +# gem 'therubyracer', platforms: :ruby + +# Use jquery as the JavaScript library +gem 'jquery-rails' +# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks +gem 'turbolinks' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.0' +# bundle exec rake doc:rails generates the API under doc/api. +gem 'sdoc', '~> 0.4.0', group: :doc + +gem "rspec" +gem "rake" +gem "rdf" +gem "rdf-vocab" +gem "json-ld" + +# Use ActiveModel has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use Unicorn as the app server +# gem 'unicorn' + +# Use Capistrano for deployment +# gem 'capistrano-rails', group: :development + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug' +end + +group :development do + # Access an IRB console on exception pages or by using <%= console %> in views + gem 'web-console', '~> 2.0' + + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' +end + diff --git a/builder/Gemfile.lock b/builder/Gemfile.lock new file mode 100644 index 0000000..9520503 --- /dev/null +++ b/builder/Gemfile.lock @@ -0,0 +1,183 @@ +GEM + remote: https://rubygems.org/ + specs: + actionmailer (4.2.4) + actionpack (= 4.2.4) + actionview (= 4.2.4) + activejob (= 4.2.4) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 1.0, >= 1.0.5) + actionpack (4.2.4) + actionview (= 4.2.4) + activesupport (= 4.2.4) + rack (~> 1.6) + rack-test (~> 0.6.2) + rails-dom-testing (~> 1.0, >= 1.0.5) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (4.2.4) + activesupport (= 4.2.4) + builder (~> 3.1) + erubis (~> 2.7.0) + rails-dom-testing (~> 1.0, >= 1.0.5) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + activejob (4.2.4) + activesupport (= 4.2.4) + globalid (>= 0.3.0) + activemodel (4.2.4) + activesupport (= 4.2.4) + builder (~> 3.1) + activerecord (4.2.4) + activemodel (= 4.2.4) + activesupport (= 4.2.4) + arel (~> 6.0) + activesupport (4.2.4) + i18n (~> 0.7) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + arel (6.0.3) + binding_of_caller (0.7.2) + debug_inspector (>= 0.0.1) + builder (3.2.2) + byebug (6.0.2) + coffee-rails (4.1.0) + coffee-script (>= 2.2.0) + railties (>= 4.0.0, < 5.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.9.1.1) + debug_inspector (0.0.2) + diff-lcs (1.2.5) + erubis (2.7.0) + execjs (2.6.0) + globalid (0.3.6) + activesupport (>= 4.1.0) + i18n (0.7.0) + jbuilder (2.3.2) + activesupport (>= 3.0.0, < 5) + multi_json (~> 1.2) + jquery-rails (4.0.5) + rails-dom-testing (~> 1.0) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) + json (1.8.3) + json-ld (1.99.0) + multi_json (~> 1.11) + rdf (~> 1.99) + link_header (0.0.8) + loofah (2.0.3) + nokogiri (>= 1.5.9) + mail (2.6.3) + mime-types (>= 1.16, < 3) + mime-types (2.6.2) + mini_portile (0.6.2) + minitest (5.8.2) + multi_json (1.11.2) + nokogiri (1.6.6.2) + mini_portile (~> 0.6.0) + rack (1.6.4) + rack-test (0.6.3) + rack (>= 1.0) + rails (4.2.4) + actionmailer (= 4.2.4) + actionpack (= 4.2.4) + actionview (= 4.2.4) + activejob (= 4.2.4) + activemodel (= 4.2.4) + activerecord (= 4.2.4) + activesupport (= 4.2.4) + bundler (>= 1.3.0, < 2.0) + railties (= 4.2.4) + sprockets-rails + rails-deprecated_sanitizer (1.0.3) + activesupport (>= 4.2.0.alpha) + rails-dom-testing (1.0.7) + activesupport (>= 4.2.0.beta, < 5.0) + nokogiri (~> 1.6.0) + rails-deprecated_sanitizer (>= 1.0.1) + rails-html-sanitizer (1.0.2) + loofah (~> 2.0) + railties (4.2.4) + actionpack (= 4.2.4) + activesupport (= 4.2.4) + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rake (10.4.2) + rdf (1.99.0) + link_header (~> 0.0, >= 0.0.8) + rdf-vocab (0.8.7.1) + rdf (~> 1.1, >= 1.1.10) + rdoc (4.2.0) + rspec (3.3.0) + rspec-core (~> 3.3.0) + rspec-expectations (~> 3.3.0) + rspec-mocks (~> 3.3.0) + rspec-core (3.3.2) + rspec-support (~> 3.3.0) + rspec-expectations (3.3.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.3.0) + rspec-mocks (3.3.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.3.0) + rspec-support (3.3.0) + sass (3.4.19) + sass-rails (5.0.4) + railties (>= 4.0.0, < 5.0) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + sdoc (0.4.1) + json (~> 1.7, >= 1.7.7) + rdoc (~> 4.0) + spring (1.4.0) + sprockets (3.4.0) + rack (> 1, < 3) + sprockets-rails (2.3.3) + actionpack (>= 3.0) + activesupport (>= 3.0) + sprockets (>= 2.8, < 4.0) + sqlite3 (1.3.11) + thor (0.19.1) + thread_safe (0.3.5) + tilt (2.0.1) + turbolinks (2.5.3) + coffee-rails + tzinfo (1.2.2) + thread_safe (~> 0.1) + uglifier (2.7.2) + execjs (>= 0.3.0) + json (>= 1.8.0) + web-console (2.2.1) + activemodel (>= 4.0) + binding_of_caller (>= 0.7.2) + railties (>= 4.0) + sprockets-rails (>= 2.0, < 4.0) + +PLATFORMS + ruby + +DEPENDENCIES + byebug + coffee-rails (~> 4.1.0) + jbuilder (~> 2.0) + jquery-rails + json-ld + rails (= 4.2.4) + rake + rdf + rdf-vocab + rspec + sass-rails (~> 5.0) + sdoc (~> 0.4.0) + spring + sqlite3 + turbolinks + uglifier (>= 1.3.0) + web-console (~> 2.0) + +BUNDLED WITH + 1.10.6 diff --git a/builder/README.rdoc b/builder/README.rdoc new file mode 100644 index 0000000..dd4e97e --- /dev/null +++ b/builder/README.rdoc @@ -0,0 +1,28 @@ +== README + +This README would normally document whatever steps are necessary to get the +application up and running. + +Things you may want to cover: + +* Ruby version + +* System dependencies + +* Configuration + +* Database creation + +* Database initialization + +* How to run the test suite + +* Services (job queues, cache servers, search engines, etc.) + +* Deployment instructions + +* ... + + +Please feel free to use a different markup language if you do not plan to run +rake doc:app. diff --git a/builder/Rakefile b/builder/Rakefile new file mode 100644 index 0000000..ba6b733 --- /dev/null +++ b/builder/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require File.expand_path('../config/application', __FILE__) + +Rails.application.load_tasks diff --git a/builder/app/assets/images/.keep b/builder/app/assets/images/.keep new file mode 100644 index 0000000..e69de29 diff --git a/builder/app/assets/javascripts/application.js b/builder/app/assets/javascripts/application.js new file mode 100644 index 0000000..e07c5a8 --- /dev/null +++ b/builder/app/assets/javascripts/application.js @@ -0,0 +1,16 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require jquery +//= require jquery_ujs +//= require turbolinks +//= require_tree . diff --git a/builder/app/assets/javascripts/enquetes.coffee b/builder/app/assets/javascripts/enquetes.coffee new file mode 100644 index 0000000..5a10d2d --- /dev/null +++ b/builder/app/assets/javascripts/enquetes.coffee @@ -0,0 +1,173 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ + +ready = -> + + typeChanged = ($s) -> + #セレクターの内容が変更された + #$insert_area = $s.parentNode.querySelector('.insert_area') + + $par = $s.parent().parent() + $insert_area = $par.children '.insert_area' + + #セレクター内のinsert areaを変更 + if $insert_area + typeSwitch($insert_area, $s.val()) + else + console.log "Error" + + typeSwitch = ($area, $type) -> + #switch + switch $type + when 'checkbox' + console.log('checkbox') + makeCheckbox $area + when 'multiple_choice' + console.log('multiple') + makeCheckbox $area + when 'text_area' + console.log('text') + makeTextarea $area + when 'number_field' + console.log('number') + makeNumberfield $area + else + console.log('Unknown Type...') + + makeOption = ($area) -> + console.log("add option") + $outer = $("
").addClass 'option' + + $("").attr({ + name: 'option[]', + type: 'text', + class: 'option_text' + }).appendTo $outer + + $remove_button = $("
").addClass 'option_remove' + $remove_button.html 'remove' + $($remove_button.appendTo $outer).click -> + console.log $(@).parent().remove() + + $area.append $outer + + makeCheckbox = ($area) -> + #checkboxを作るよ + console.log 'make checkbox' + console.log $area + if ($area.find '.add_option_button').length != 0 + #すでにボタンがあった場合はスルー + return console.log 'Checkbox is already exist...' + $area.empty() + $bu = $("
").addClass 'add_option_button' + + $area.append $bu + + $($area.find '.add_option_button:last').html('Add Option') + makeOption $area + makeOption $area + + $('.add_option_button:last').click -> + makeOption $(@).parent() + + makeQuestion = -> + $selector = $('.question_header:last').clone(true) + + $f = $('
').addClass 'field question' + $f.append $selector + + $('.question:last').after $f + + $ins = $('
').addClass 'insert_area' + $('.question_header:last').after $ins + makeCheckbox $('.insert_area:last') + + deleteQuestion = ($area) -> + console.log $('.question') + if $('.question').length <= 1 + return alert 'これ以上質問を削除できません。' + if !confirm('この質問を削除してよろしいですか?') + return console.log 'Canseled...' + + console.log 'Delete question' + $area.remove() + + makeTextarea = ($area) -> + console.log 'make textarea' + console.log $area + #text_area作るよ + $area.empty() + $area.append($('