model_base_generators 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +6 -0
- data/Rakefile +13 -1
- data/example/.gitignore +2 -0
- data/example/.rspec +2 -0
- data/example/Gemfile +72 -0
- data/example/Gemfile.lock +304 -0
- data/example/Rakefile +6 -0
- data/example/app/assets/config/manifest.js +5 -0
- data/example/app/assets/images/.keep +0 -0
- data/example/app/assets/javascripts/application.js +13 -0
- data/example/app/assets/javascripts/cable.js +13 -0
- data/example/app/assets/javascripts/channels/.keep +0 -0
- data/example/app/assets/stylesheets/application.css +15 -0
- data/example/app/channels/application_cable/channel.rb +4 -0
- data/example/app/channels/application_cable/connection.rb +4 -0
- data/example/app/controllers/application_controller.rb +3 -0
- data/example/app/controllers/concerns/.keep +0 -0
- data/example/app/controllers/concerns/authentication.rb +12 -0
- data/{examples → example}/app/controllers/issues_controller.rb +1 -1
- data/example/app/controllers/projects_controller.rb +62 -0
- data/example/app/helpers/application_helper.rb +2 -0
- data/example/app/helpers/issues_helper.rb +2 -0
- data/example/app/helpers/projects_helper.rb +2 -0
- data/example/app/jobs/application_job.rb +2 -0
- data/example/app/mailers/application_mailer.rb +4 -0
- data/example/app/models/ability.rb +35 -0
- data/example/app/models/application_record.rb +3 -0
- data/example/app/models/concerns/.keep +0 -0
- data/example/app/models/issue.rb +16 -0
- data/example/app/models/project.rb +6 -0
- data/example/app/models/user.rb +25 -0
- data/example/app/validations/ar_internal_metadatum_validation.rb +8 -0
- data/example/app/validations/issue_validation.rb +9 -0
- data/example/app/validations/project_validation.rb +8 -0
- data/example/app/validations/user_validation.rb +10 -0
- data/{examples → example}/app/views/issues/_form.html.erb +8 -1
- data/{examples/app/views/issues/index.html.erb → example/app/views/issues/_table.html.erb} +2 -7
- data/{examples → example}/app/views/issues/edit.html.erb +0 -0
- data/example/app/views/issues/index.html.erb +9 -0
- data/{examples → example}/app/views/issues/new.html.erb +0 -0
- data/{examples → example}/app/views/issues/show.html.erb +6 -0
- data/example/app/views/layouts/application.html.erb +14 -0
- data/example/app/views/layouts/mailer.html.erb +13 -0
- data/example/app/views/layouts/mailer.text.erb +1 -0
- data/{examples → example}/app/views/projects/_form.html.erb +7 -0
- data/{examples/app/views/projects/index.html.erb → example/app/views/projects/_table.html.erb} +2 -9
- data/{examples → example}/app/views/projects/edit.html.erb +0 -0
- data/example/app/views/projects/index.html.erb +9 -0
- data/{examples → example}/app/views/projects/new.html.erb +0 -0
- data/{examples → example}/app/views/projects/show.html.erb +2 -0
- data/example/bin/bundle +3 -0
- data/example/bin/rails +4 -0
- data/example/bin/rake +4 -0
- data/example/bin/setup +34 -0
- data/example/bin/update +29 -0
- data/example/config/application.rb +20 -0
- data/example/config/boot.rb +5 -0
- data/example/config/cable.yml +9 -0
- data/example/config/database.yml +25 -0
- data/example/config/environment.rb +5 -0
- data/example/config/environments/development.rb +56 -0
- data/example/config/environments/production.rb +86 -0
- data/example/config/environments/test.rb +42 -0
- data/example/config/initializers/application_controller_renderer.rb +6 -0
- data/example/config/initializers/assets.rb +11 -0
- data/example/config/initializers/backtrace_silencers.rb +7 -0
- data/example/config/initializers/cookies_serializer.rb +5 -0
- data/example/config/initializers/devise.rb +274 -0
- data/example/config/initializers/filter_parameter_logging.rb +4 -0
- data/example/config/initializers/inflections.rb +16 -0
- data/example/config/initializers/mime_types.rb +4 -0
- data/example/config/initializers/new_framework_defaults.rb +24 -0
- data/example/config/initializers/pretty_validation.rb +5 -0
- data/example/config/initializers/session_store.rb +3 -0
- data/example/config/initializers/wrap_parameters.rb +14 -0
- data/example/config/locales/devise.en.yml +62 -0
- data/example/config/locales/en.yml +23 -0
- data/example/config/puma.rb +47 -0
- data/example/config/routes.rb +6 -0
- data/example/config/secrets.yml +22 -0
- data/example/config/spring.rb +6 -0
- data/example/config.ru +5 -0
- data/example/db/schema.rb +34 -0
- data/example/lib/assets/.keep +0 -0
- data/example/log/.keep +0 -0
- data/example/public/404.html +67 -0
- data/example/public/422.html +67 -0
- data/example/public/500.html +66 -0
- data/example/public/apple-touch-icon-precomposed.png +0 -0
- data/example/public/apple-touch-icon.png +0 -0
- data/example/public/favicon.ico +0 -0
- data/{examples → example}/spec/controllers/issues_controller_spec.rb +6 -6
- data/{examples → example}/spec/controllers/projects_controller_spec.rb +4 -4
- data/example/spec/factories/issues.rb +8 -0
- data/example/spec/factories/projects.rb +6 -0
- data/example/spec/factories/users.rb +8 -0
- data/example/spec/rails_helper.rb +57 -0
- data/{examples → example}/spec/routing/issues_routing_spec.rb +0 -0
- data/{examples → example}/spec/routing/projects_routing_spec.rb +0 -0
- data/example/spec/spec_helper.rb +99 -0
- data/example/spec/support/controller_macros.rb +18 -0
- data/example/spec/support/devise.rb +16 -0
- data/{examples → example}/spec/views/issues/edit.html.erb_spec.rb +4 -1
- data/example/spec/views/issues/index.html.erb_spec.rb +21 -0
- data/{examples → example}/spec/views/issues/new.html.erb_spec.rb +4 -1
- data/example/spec/views/issues/show.html.erb_spec.rb +17 -0
- data/{examples → example}/spec/views/projects/edit.html.erb_spec.rb +3 -1
- data/example/spec/views/projects/index.html.erb_spec.rb +18 -0
- data/{examples → example}/spec/views/projects/new.html.erb_spec.rb +3 -1
- data/example/spec/views/projects/show.html.erb_spec.rb +14 -0
- data/example/tmp/.keep +0 -0
- data/lib/model_base/column_attribute.rb +63 -2
- data/lib/model_base/config.rb +13 -2
- data/lib/model_base/generators/erb/scaffold.rb +23 -0
- data/lib/model_base/generators/factory_girl/model.rb +37 -0
- data/lib/model_base/meta_model.rb +77 -13
- data/lib/model_base/version.rb +1 -1
- data/lib/model_base.rb +4 -0
- data/lib/templates/controller.rb +1 -1
- data/lib/templates/erb/scaffold/_form.html.erb +1 -1
- data/lib/templates/erb/scaffold/_table.html.erb +39 -0
- data/lib/templates/erb/scaffold/index.html.erb +1 -38
- data/lib/templates/erb/scaffold/show.html.erb +3 -1
- data/lib/templates/factory_girl/factory.rb +11 -0
- data/lib/templates/rspec/scaffold/controller_spec.rb +8 -13
- data/lib/templates/rspec/scaffold/edit_spec.rb +3 -3
- data/lib/templates/rspec/scaffold/index_spec.rb +13 -3
- data/lib/templates/rspec/scaffold/new_spec.rb +3 -2
- data/lib/templates/rspec/scaffold/show_spec.rb +4 -4
- metadata +115 -25
- data/examples/spec/views/issues/index.html.erb_spec.rb +0 -17
- data/examples/spec/views/issues/show.html.erb_spec.rb +0 -14
- data/examples/spec/views/projects/index.html.erb_spec.rb +0 -15
- data/examples/spec/views/projects/show.html.erb_spec.rb +0 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c53033fec333226f20bbcf75ae02b4da95a1b5b2
|
|
4
|
+
data.tar.gz: 81090f4cfcd9fe923bcaa6249f75c4787bff9959
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7db5951847a6ad2d167b669409ca2fa749f4da4858442af7b89398fb9eb5faae6c34bf4ae4aaaa667f020d855995d74da05c5ecb9abea8fa4d2b60043504c2b3
|
|
7
|
+
data.tar.gz: 6f5410fa88de13cc0081cd40807bf96bded9105ae87f02812ce3d33ca75b15d851bcdba57284c5e13ce29f35ccf60129e9e432e892bdf4690183d57ccc1b3b02
|
data/Gemfile
CHANGED
|
@@ -7,4 +7,10 @@ group :test do
|
|
|
7
7
|
gem 'enumerize'
|
|
8
8
|
gem 'simplecov'
|
|
9
9
|
gem 'sqlite3'
|
|
10
|
+
gem 'devise'
|
|
11
|
+
gem 'pretty_validation', git: 'https://github.com/akm/pretty_validation.git'
|
|
12
|
+
gem 'factory_girl_rails'
|
|
13
|
+
# gem 'cancancan'
|
|
14
|
+
# gem 'kaminari'
|
|
15
|
+
# gem 'twitter-bootstrap-rails'
|
|
10
16
|
end
|
data/Rakefile
CHANGED
|
@@ -3,4 +3,16 @@ require "rspec/core/rake_task"
|
|
|
3
3
|
|
|
4
4
|
RSpec::Core::RakeTask.new(:spec)
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
namespace :example do
|
|
7
|
+
desc "Run spec in example"
|
|
8
|
+
task :spec do
|
|
9
|
+
Bundler.with_clean_env do
|
|
10
|
+
cmd = 'cd example && bundle && bundle exec rake spec'
|
|
11
|
+
unless system(cmd)
|
|
12
|
+
raise "Failure: #{cmd}"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
task :default => [:spec, :'example:spec']
|
data/example/.gitignore
ADDED
data/example/.rspec
ADDED
data/example/Gemfile
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
|
5
|
+
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
|
|
6
|
+
# Use sqlite3 as the database for Active Record
|
|
7
|
+
gem 'sqlite3'
|
|
8
|
+
# Use Puma as the app server
|
|
9
|
+
gem 'puma', '~> 3.0'
|
|
10
|
+
# Use SCSS for stylesheets
|
|
11
|
+
gem 'sass-rails', '~> 5.0'
|
|
12
|
+
# Use Uglifier as compressor for JavaScript assets
|
|
13
|
+
gem 'uglifier', '>= 1.3.0'
|
|
14
|
+
# Use CoffeeScript for .coffee assets and views
|
|
15
|
+
gem 'coffee-rails', '~> 4.2'
|
|
16
|
+
# See https://github.com/rails/execjs#readme for more supported runtimes
|
|
17
|
+
# gem 'therubyracer', platforms: :ruby
|
|
18
|
+
|
|
19
|
+
# Use jquery as the JavaScript library
|
|
20
|
+
gem 'jquery-rails'
|
|
21
|
+
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
|
22
|
+
gem 'turbolinks', '~> 5'
|
|
23
|
+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
|
24
|
+
gem 'jbuilder', '~> 2.5'
|
|
25
|
+
# Use Redis adapter to run Action Cable in production
|
|
26
|
+
# gem 'redis', '~> 3.0'
|
|
27
|
+
# Use ActiveModel has_secure_password
|
|
28
|
+
# gem 'bcrypt', '~> 3.1.7'
|
|
29
|
+
|
|
30
|
+
# Use Capistrano for deployment
|
|
31
|
+
# gem 'capistrano-rails', group: :development
|
|
32
|
+
|
|
33
|
+
group :development, :test do
|
|
34
|
+
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
|
35
|
+
gem 'byebug', platform: :mri
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
group :development do
|
|
39
|
+
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
|
|
40
|
+
gem 'web-console'
|
|
41
|
+
gem 'listen', '~> 3.0.5'
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
45
|
+
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
|
46
|
+
|
|
47
|
+
gem 'twitter-bootstrap-rails'
|
|
48
|
+
gem 'devise'
|
|
49
|
+
gem 'cancancan'
|
|
50
|
+
gem 'enumerize'
|
|
51
|
+
gem 'kaminari'
|
|
52
|
+
gem 'pretty_validation', git: 'https://github.com/akm/pretty_validation.git'
|
|
53
|
+
|
|
54
|
+
group :development, :test do
|
|
55
|
+
gem 'rspec'
|
|
56
|
+
gem 'rspec-rails'
|
|
57
|
+
gem 'simplecov', require: false
|
|
58
|
+
gem 'simplecov-rcov', require: false
|
|
59
|
+
gem 'pry-rails'
|
|
60
|
+
gem 'pry-byebug'
|
|
61
|
+
gem 'pry-stack_explorer'
|
|
62
|
+
gem 'fuubar'
|
|
63
|
+
gem 'factory_girl'
|
|
64
|
+
gem 'factory_girl_rails'
|
|
65
|
+
gem 'annotate'
|
|
66
|
+
gem 'rails_best_practices'
|
|
67
|
+
gem 'bullet'
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
group :test do
|
|
71
|
+
gem 'rails-controller-testing'
|
|
72
|
+
end
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
GIT
|
|
2
|
+
remote: https://github.com/akm/pretty_validation.git
|
|
3
|
+
revision: f279345cfbca76ed6f606f0a9c80db129980c833
|
|
4
|
+
specs:
|
|
5
|
+
pretty_validation (0.3.0)
|
|
6
|
+
rails (>= 4.0.0)
|
|
7
|
+
|
|
8
|
+
GEM
|
|
9
|
+
remote: https://rubygems.org/
|
|
10
|
+
specs:
|
|
11
|
+
actioncable (5.0.0.1)
|
|
12
|
+
actionpack (= 5.0.0.1)
|
|
13
|
+
nio4r (~> 1.2)
|
|
14
|
+
websocket-driver (~> 0.6.1)
|
|
15
|
+
actionmailer (5.0.0.1)
|
|
16
|
+
actionpack (= 5.0.0.1)
|
|
17
|
+
actionview (= 5.0.0.1)
|
|
18
|
+
activejob (= 5.0.0.1)
|
|
19
|
+
mail (~> 2.5, >= 2.5.4)
|
|
20
|
+
rails-dom-testing (~> 2.0)
|
|
21
|
+
actionpack (5.0.0.1)
|
|
22
|
+
actionview (= 5.0.0.1)
|
|
23
|
+
activesupport (= 5.0.0.1)
|
|
24
|
+
rack (~> 2.0)
|
|
25
|
+
rack-test (~> 0.6.3)
|
|
26
|
+
rails-dom-testing (~> 2.0)
|
|
27
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
|
28
|
+
actionview (5.0.0.1)
|
|
29
|
+
activesupport (= 5.0.0.1)
|
|
30
|
+
builder (~> 3.1)
|
|
31
|
+
erubis (~> 2.7.0)
|
|
32
|
+
rails-dom-testing (~> 2.0)
|
|
33
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
|
34
|
+
activejob (5.0.0.1)
|
|
35
|
+
activesupport (= 5.0.0.1)
|
|
36
|
+
globalid (>= 0.3.6)
|
|
37
|
+
activemodel (5.0.0.1)
|
|
38
|
+
activesupport (= 5.0.0.1)
|
|
39
|
+
activerecord (5.0.0.1)
|
|
40
|
+
activemodel (= 5.0.0.1)
|
|
41
|
+
activesupport (= 5.0.0.1)
|
|
42
|
+
arel (~> 7.0)
|
|
43
|
+
activesupport (5.0.0.1)
|
|
44
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
45
|
+
i18n (~> 0.7)
|
|
46
|
+
minitest (~> 5.1)
|
|
47
|
+
tzinfo (~> 1.1)
|
|
48
|
+
annotate (2.7.1)
|
|
49
|
+
activerecord (>= 3.2, < 6.0)
|
|
50
|
+
rake (>= 10.4, < 12.0)
|
|
51
|
+
arel (7.1.4)
|
|
52
|
+
bcrypt (3.1.11)
|
|
53
|
+
binding_of_caller (0.7.2)
|
|
54
|
+
debug_inspector (>= 0.0.1)
|
|
55
|
+
builder (3.2.2)
|
|
56
|
+
bullet (5.4.2)
|
|
57
|
+
activesupport (>= 3.0.0)
|
|
58
|
+
uniform_notifier (~> 1.10.0)
|
|
59
|
+
byebug (9.0.6)
|
|
60
|
+
cancancan (1.15.0)
|
|
61
|
+
code_analyzer (0.4.7)
|
|
62
|
+
sexp_processor
|
|
63
|
+
coderay (1.1.1)
|
|
64
|
+
coffee-rails (4.2.1)
|
|
65
|
+
coffee-script (>= 2.2.0)
|
|
66
|
+
railties (>= 4.0.0, < 5.2.x)
|
|
67
|
+
coffee-script (2.4.1)
|
|
68
|
+
coffee-script-source
|
|
69
|
+
execjs
|
|
70
|
+
coffee-script-source (1.10.0)
|
|
71
|
+
commonjs (0.2.7)
|
|
72
|
+
concurrent-ruby (1.0.2)
|
|
73
|
+
debug_inspector (0.0.2)
|
|
74
|
+
devise (4.2.0)
|
|
75
|
+
bcrypt (~> 3.0)
|
|
76
|
+
orm_adapter (~> 0.1)
|
|
77
|
+
railties (>= 4.1.0, < 5.1)
|
|
78
|
+
responders
|
|
79
|
+
warden (~> 1.2.3)
|
|
80
|
+
diff-lcs (1.2.5)
|
|
81
|
+
docile (1.1.5)
|
|
82
|
+
enumerize (2.0.1)
|
|
83
|
+
activesupport (>= 3.2)
|
|
84
|
+
erubis (2.7.0)
|
|
85
|
+
execjs (2.7.0)
|
|
86
|
+
factory_girl (4.7.0)
|
|
87
|
+
activesupport (>= 3.0.0)
|
|
88
|
+
factory_girl_rails (4.7.0)
|
|
89
|
+
factory_girl (~> 4.7.0)
|
|
90
|
+
railties (>= 3.0.0)
|
|
91
|
+
ffi (1.9.14)
|
|
92
|
+
fuubar (2.2.0)
|
|
93
|
+
rspec-core (~> 3.0)
|
|
94
|
+
ruby-progressbar (~> 1.4)
|
|
95
|
+
globalid (0.3.7)
|
|
96
|
+
activesupport (>= 4.1.0)
|
|
97
|
+
i18n (0.7.0)
|
|
98
|
+
jbuilder (2.6.0)
|
|
99
|
+
activesupport (>= 3.0.0, < 5.1)
|
|
100
|
+
multi_json (~> 1.2)
|
|
101
|
+
jquery-rails (4.2.1)
|
|
102
|
+
rails-dom-testing (>= 1, < 3)
|
|
103
|
+
railties (>= 4.2.0)
|
|
104
|
+
thor (>= 0.14, < 2.0)
|
|
105
|
+
json (2.0.2)
|
|
106
|
+
kaminari (0.17.0)
|
|
107
|
+
actionpack (>= 3.0.0)
|
|
108
|
+
activesupport (>= 3.0.0)
|
|
109
|
+
less (2.6.0)
|
|
110
|
+
commonjs (~> 0.2.7)
|
|
111
|
+
less-rails (2.8.0)
|
|
112
|
+
actionpack (>= 4.0)
|
|
113
|
+
less (~> 2.6.0)
|
|
114
|
+
sprockets (> 2, < 4)
|
|
115
|
+
tilt
|
|
116
|
+
listen (3.0.8)
|
|
117
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
118
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
|
119
|
+
loofah (2.0.3)
|
|
120
|
+
nokogiri (>= 1.5.9)
|
|
121
|
+
mail (2.6.4)
|
|
122
|
+
mime-types (>= 1.16, < 4)
|
|
123
|
+
method_source (0.8.2)
|
|
124
|
+
mime-types (3.1)
|
|
125
|
+
mime-types-data (~> 3.2015)
|
|
126
|
+
mime-types-data (3.2016.0521)
|
|
127
|
+
mini_portile2 (2.1.0)
|
|
128
|
+
minitest (5.9.1)
|
|
129
|
+
multi_json (1.12.1)
|
|
130
|
+
nio4r (1.2.1)
|
|
131
|
+
nokogiri (1.6.8.1)
|
|
132
|
+
mini_portile2 (~> 2.1.0)
|
|
133
|
+
orm_adapter (0.5.0)
|
|
134
|
+
pry (0.10.4)
|
|
135
|
+
coderay (~> 1.1.0)
|
|
136
|
+
method_source (~> 0.8.1)
|
|
137
|
+
slop (~> 3.4)
|
|
138
|
+
pry-byebug (3.4.0)
|
|
139
|
+
byebug (~> 9.0)
|
|
140
|
+
pry (~> 0.10)
|
|
141
|
+
pry-rails (0.3.4)
|
|
142
|
+
pry (>= 0.9.10)
|
|
143
|
+
pry-stack_explorer (0.4.9.2)
|
|
144
|
+
binding_of_caller (>= 0.7)
|
|
145
|
+
pry (>= 0.9.11)
|
|
146
|
+
puma (3.6.0)
|
|
147
|
+
rack (2.0.1)
|
|
148
|
+
rack-test (0.6.3)
|
|
149
|
+
rack (>= 1.0)
|
|
150
|
+
rails (5.0.0.1)
|
|
151
|
+
actioncable (= 5.0.0.1)
|
|
152
|
+
actionmailer (= 5.0.0.1)
|
|
153
|
+
actionpack (= 5.0.0.1)
|
|
154
|
+
actionview (= 5.0.0.1)
|
|
155
|
+
activejob (= 5.0.0.1)
|
|
156
|
+
activemodel (= 5.0.0.1)
|
|
157
|
+
activerecord (= 5.0.0.1)
|
|
158
|
+
activesupport (= 5.0.0.1)
|
|
159
|
+
bundler (>= 1.3.0, < 2.0)
|
|
160
|
+
railties (= 5.0.0.1)
|
|
161
|
+
sprockets-rails (>= 2.0.0)
|
|
162
|
+
rails-controller-testing (1.0.1)
|
|
163
|
+
actionpack (~> 5.x)
|
|
164
|
+
actionview (~> 5.x)
|
|
165
|
+
activesupport (~> 5.x)
|
|
166
|
+
rails-dom-testing (2.0.1)
|
|
167
|
+
activesupport (>= 4.2.0, < 6.0)
|
|
168
|
+
nokogiri (~> 1.6.0)
|
|
169
|
+
rails-html-sanitizer (1.0.3)
|
|
170
|
+
loofah (~> 2.0)
|
|
171
|
+
rails_best_practices (1.17.0)
|
|
172
|
+
activesupport
|
|
173
|
+
code_analyzer (>= 0.4.3)
|
|
174
|
+
erubis
|
|
175
|
+
i18n
|
|
176
|
+
json
|
|
177
|
+
require_all
|
|
178
|
+
ruby-progressbar
|
|
179
|
+
railties (5.0.0.1)
|
|
180
|
+
actionpack (= 5.0.0.1)
|
|
181
|
+
activesupport (= 5.0.0.1)
|
|
182
|
+
method_source
|
|
183
|
+
rake (>= 0.8.7)
|
|
184
|
+
thor (>= 0.18.1, < 2.0)
|
|
185
|
+
rake (11.3.0)
|
|
186
|
+
rb-fsevent (0.9.7)
|
|
187
|
+
rb-inotify (0.9.7)
|
|
188
|
+
ffi (>= 0.5.0)
|
|
189
|
+
require_all (1.3.3)
|
|
190
|
+
responders (2.3.0)
|
|
191
|
+
railties (>= 4.2.0, < 5.1)
|
|
192
|
+
rspec (3.5.0)
|
|
193
|
+
rspec-core (~> 3.5.0)
|
|
194
|
+
rspec-expectations (~> 3.5.0)
|
|
195
|
+
rspec-mocks (~> 3.5.0)
|
|
196
|
+
rspec-core (3.5.4)
|
|
197
|
+
rspec-support (~> 3.5.0)
|
|
198
|
+
rspec-expectations (3.5.0)
|
|
199
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
200
|
+
rspec-support (~> 3.5.0)
|
|
201
|
+
rspec-mocks (3.5.0)
|
|
202
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
203
|
+
rspec-support (~> 3.5.0)
|
|
204
|
+
rspec-rails (3.5.2)
|
|
205
|
+
actionpack (>= 3.0)
|
|
206
|
+
activesupport (>= 3.0)
|
|
207
|
+
railties (>= 3.0)
|
|
208
|
+
rspec-core (~> 3.5.0)
|
|
209
|
+
rspec-expectations (~> 3.5.0)
|
|
210
|
+
rspec-mocks (~> 3.5.0)
|
|
211
|
+
rspec-support (~> 3.5.0)
|
|
212
|
+
rspec-support (3.5.0)
|
|
213
|
+
ruby-progressbar (1.8.1)
|
|
214
|
+
sass (3.4.22)
|
|
215
|
+
sass-rails (5.0.6)
|
|
216
|
+
railties (>= 4.0.0, < 6)
|
|
217
|
+
sass (~> 3.1)
|
|
218
|
+
sprockets (>= 2.8, < 4.0)
|
|
219
|
+
sprockets-rails (>= 2.0, < 4.0)
|
|
220
|
+
tilt (>= 1.1, < 3)
|
|
221
|
+
sexp_processor (4.7.0)
|
|
222
|
+
simplecov (0.12.0)
|
|
223
|
+
docile (~> 1.1.0)
|
|
224
|
+
json (>= 1.8, < 3)
|
|
225
|
+
simplecov-html (~> 0.10.0)
|
|
226
|
+
simplecov-html (0.10.0)
|
|
227
|
+
simplecov-rcov (0.2.3)
|
|
228
|
+
simplecov (>= 0.4.1)
|
|
229
|
+
slop (3.6.0)
|
|
230
|
+
sprockets (3.7.0)
|
|
231
|
+
concurrent-ruby (~> 1.0)
|
|
232
|
+
rack (> 1, < 3)
|
|
233
|
+
sprockets-rails (3.2.0)
|
|
234
|
+
actionpack (>= 4.0)
|
|
235
|
+
activesupport (>= 4.0)
|
|
236
|
+
sprockets (>= 3.0.0)
|
|
237
|
+
sqlite3 (1.3.12)
|
|
238
|
+
thor (0.19.1)
|
|
239
|
+
thread_safe (0.3.5)
|
|
240
|
+
tilt (2.0.5)
|
|
241
|
+
turbolinks (5.0.1)
|
|
242
|
+
turbolinks-source (~> 5)
|
|
243
|
+
turbolinks-source (5.0.0)
|
|
244
|
+
twitter-bootstrap-rails (3.2.2)
|
|
245
|
+
actionpack (>= 3.1)
|
|
246
|
+
execjs (>= 2.2.2, >= 2.2)
|
|
247
|
+
less-rails (>= 2.5.0)
|
|
248
|
+
railties (>= 3.1)
|
|
249
|
+
tzinfo (1.2.2)
|
|
250
|
+
thread_safe (~> 0.1)
|
|
251
|
+
uglifier (3.0.2)
|
|
252
|
+
execjs (>= 0.3.0, < 3)
|
|
253
|
+
uniform_notifier (1.10.0)
|
|
254
|
+
warden (1.2.6)
|
|
255
|
+
rack (>= 1.0)
|
|
256
|
+
web-console (3.3.1)
|
|
257
|
+
actionview (>= 5.0)
|
|
258
|
+
activemodel (>= 5.0)
|
|
259
|
+
debug_inspector
|
|
260
|
+
railties (>= 5.0)
|
|
261
|
+
websocket-driver (0.6.4)
|
|
262
|
+
websocket-extensions (>= 0.1.0)
|
|
263
|
+
websocket-extensions (0.1.2)
|
|
264
|
+
|
|
265
|
+
PLATFORMS
|
|
266
|
+
ruby
|
|
267
|
+
|
|
268
|
+
DEPENDENCIES
|
|
269
|
+
annotate
|
|
270
|
+
bullet
|
|
271
|
+
byebug
|
|
272
|
+
cancancan
|
|
273
|
+
coffee-rails (~> 4.2)
|
|
274
|
+
devise
|
|
275
|
+
enumerize
|
|
276
|
+
factory_girl
|
|
277
|
+
factory_girl_rails
|
|
278
|
+
fuubar
|
|
279
|
+
jbuilder (~> 2.5)
|
|
280
|
+
jquery-rails
|
|
281
|
+
kaminari
|
|
282
|
+
listen (~> 3.0.5)
|
|
283
|
+
pretty_validation!
|
|
284
|
+
pry-byebug
|
|
285
|
+
pry-rails
|
|
286
|
+
pry-stack_explorer
|
|
287
|
+
puma (~> 3.0)
|
|
288
|
+
rails (~> 5.0.0, >= 5.0.0.1)
|
|
289
|
+
rails-controller-testing
|
|
290
|
+
rails_best_practices
|
|
291
|
+
rspec
|
|
292
|
+
rspec-rails
|
|
293
|
+
sass-rails (~> 5.0)
|
|
294
|
+
simplecov
|
|
295
|
+
simplecov-rcov
|
|
296
|
+
sqlite3
|
|
297
|
+
turbolinks (~> 5)
|
|
298
|
+
twitter-bootstrap-rails
|
|
299
|
+
tzinfo-data
|
|
300
|
+
uglifier (>= 1.3.0)
|
|
301
|
+
web-console
|
|
302
|
+
|
|
303
|
+
BUNDLED WITH
|
|
304
|
+
1.13.2
|
data/example/Rakefile
ADDED
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
+
// listed below.
|
|
3
|
+
//
|
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
+
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
|
6
|
+
//
|
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
+
// compiled file. JavaScript code in this file should be added after the last require_* statement.
|
|
9
|
+
//
|
|
10
|
+
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
|
11
|
+
// about supported directives.
|
|
12
|
+
//
|
|
13
|
+
//= require_tree .
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Action Cable provides the framework to deal with WebSockets in Rails.
|
|
2
|
+
// You can generate new channels where WebSocket features live using the rails generate channel command.
|
|
3
|
+
//
|
|
4
|
+
//= require action_cable
|
|
5
|
+
//= require_self
|
|
6
|
+
//= require_tree ./channels
|
|
7
|
+
|
|
8
|
+
(function() {
|
|
9
|
+
this.App || (this.App = {});
|
|
10
|
+
|
|
11
|
+
App.cable = ActionCable.createConsumer();
|
|
12
|
+
|
|
13
|
+
}).call(this);
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
|
|
10
|
+
* files in this directory. Styles in this file should be added after the last require_* statement.
|
|
11
|
+
* It is generally better to create a new file per style scope.
|
|
12
|
+
*
|
|
13
|
+
*= require_tree .
|
|
14
|
+
*= require_self
|
|
15
|
+
*/
|
|
File without changes
|
|
@@ -57,6 +57,6 @@ class IssuesController < ApplicationController
|
|
|
57
57
|
|
|
58
58
|
# Only allow a trusted parameter "white list" through.
|
|
59
59
|
def issue_params
|
|
60
|
-
params.require(:issue).permit(:project_id, :title, :status)
|
|
60
|
+
params.require(:issue).permit(:project_id, :title, :status, :creator_id)
|
|
61
61
|
end
|
|
62
62
|
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
class ProjectsController < ApplicationController
|
|
2
|
+
include Authentication
|
|
3
|
+
load_and_authorize_resource except: [:index]
|
|
4
|
+
|
|
5
|
+
before_action :set_project, only: [:show, :edit, :update, :destroy]
|
|
6
|
+
|
|
7
|
+
# GET /projects
|
|
8
|
+
def index
|
|
9
|
+
@projects = Project.all
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /projects/1
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# GET /projects/new
|
|
17
|
+
def new
|
|
18
|
+
@project = Project.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /projects/1/edit
|
|
22
|
+
def edit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# POST /projects
|
|
26
|
+
def create
|
|
27
|
+
@project = Project.new(project_params)
|
|
28
|
+
|
|
29
|
+
if @project.save
|
|
30
|
+
redirect_to @project, notice: 'Project was successfully created.'
|
|
31
|
+
else
|
|
32
|
+
render :new
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# PATCH/PUT /projects/1
|
|
37
|
+
def update
|
|
38
|
+
if @project.update(project_params)
|
|
39
|
+
redirect_to @project, notice: 'Project was successfully updated.'
|
|
40
|
+
else
|
|
41
|
+
render :edit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# DELETE /projects/1
|
|
46
|
+
def destroy
|
|
47
|
+
@project.destroy
|
|
48
|
+
redirect_to projects_url, notice: 'Project was successfully destroyed.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
|
|
53
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
54
|
+
def set_project
|
|
55
|
+
@project = Project.find(params[:id])
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Only allow a trusted parameter "white list" through.
|
|
59
|
+
def project_params
|
|
60
|
+
params.require(:project).permit(:owner_id, :name)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
class Ability
|
|
2
|
+
include CanCan::Ability
|
|
3
|
+
|
|
4
|
+
def initialize(user)
|
|
5
|
+
# Define abilities for the passed in user here. For example:
|
|
6
|
+
#
|
|
7
|
+
# user ||= User.new # guest user (not logged in)
|
|
8
|
+
# if user.admin?
|
|
9
|
+
# can :manage, :all
|
|
10
|
+
# else
|
|
11
|
+
# can :read, :all
|
|
12
|
+
# end
|
|
13
|
+
#
|
|
14
|
+
# The first argument to `can` is the action you are giving the user
|
|
15
|
+
# permission to do.
|
|
16
|
+
# If you pass :manage it will apply to every action. Other common actions
|
|
17
|
+
# here are :read, :create, :update and :destroy.
|
|
18
|
+
#
|
|
19
|
+
# The second argument is the resource the user can perform the action on.
|
|
20
|
+
# If you pass :all it will apply to every resource. Otherwise pass a Ruby
|
|
21
|
+
# class of the resource.
|
|
22
|
+
#
|
|
23
|
+
# The third argument is an optional hash of conditions to further filter the
|
|
24
|
+
# objects.
|
|
25
|
+
# For example, here the user can only update published articles.
|
|
26
|
+
#
|
|
27
|
+
# can :update, Article, :published => true
|
|
28
|
+
#
|
|
29
|
+
# See the wiki for details:
|
|
30
|
+
# https://github.com/CanCanCommunity/cancancan/wiki/Defining-Abilities
|
|
31
|
+
|
|
32
|
+
can :manage, :all
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class Issue < ApplicationRecord
|
|
2
|
+
extend Enumerize
|
|
3
|
+
|
|
4
|
+
belongs_to :project
|
|
5
|
+
belongs_to :creator, class_name: 'User'
|
|
6
|
+
|
|
7
|
+
validates :title, presence: true
|
|
8
|
+
|
|
9
|
+
STATUS_MAP = {
|
|
10
|
+
draft: 0,
|
|
11
|
+
opened: 1,
|
|
12
|
+
closed: 2,
|
|
13
|
+
}.freeze
|
|
14
|
+
enumerize :status, in: STATUS_MAP
|
|
15
|
+
|
|
16
|
+
end
|