acts_as_featureable 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +4 -0
  3. data/CHANGELOG.md +8 -0
  4. data/README.md +83 -9
  5. data/Rakefile +20 -3
  6. data/acts_as_featureable.gemspec +20 -20
  7. data/app/controllers/.keep +0 -0
  8. data/app/controllers/features_controller.rb +90 -0
  9. data/app/helpers/.keep +0 -0
  10. data/app/helpers/features_helper.rb +9 -0
  11. data/app/models/.keep +0 -0
  12. data/{lib/acts_as_featureable → app/models}/feature.rb +17 -3
  13. data/app/views/.keep +0 -0
  14. data/app/views/features/_feature.html.erb +5 -0
  15. data/app/views/features/_features.html.erb +3 -0
  16. data/app/views/features/_form.html.erb +19 -0
  17. data/app/views/features/edit.html.erb +1 -0
  18. data/app/views/features/index.html.erb +3 -0
  19. data/app/views/features/new.html.erb +1 -0
  20. data/app/views/features/show.html.erb +1 -0
  21. data/bin/rails +8 -0
  22. data/lib/acts_as_featureable/config.rb +30 -0
  23. data/lib/acts_as_featureable/engine.rb +9 -0
  24. data/lib/acts_as_featureable/feature_methods.rb +11 -0
  25. data/lib/acts_as_featureable/version.rb +1 -1
  26. data/lib/acts_as_featureable.rb +5 -19
  27. data/lib/generators/templates/create_features.rb +1 -0
  28. data/lib/generators/templates/initializer.rb +5 -0
  29. data/spec/controllers/features_controller_spec.rb +158 -0
  30. data/spec/dummy/README.rdoc +28 -0
  31. data/spec/dummy/Rakefile +6 -0
  32. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  33. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  34. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  35. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  36. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  37. data/spec/dummy/app/mailers/.keep +0 -0
  38. data/spec/dummy/app/models/.keep +0 -0
  39. data/spec/dummy/app/models/concerns/.keep +0 -0
  40. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  41. data/spec/dummy/bin/bundle +3 -0
  42. data/spec/dummy/bin/rails +4 -0
  43. data/spec/dummy/bin/rake +4 -0
  44. data/spec/dummy/config/application.rb +23 -0
  45. data/spec/dummy/config/boot.rb +5 -0
  46. data/spec/dummy/config/database.yml +25 -0
  47. data/spec/dummy/config/environment.rb +5 -0
  48. data/spec/dummy/config/environments/development.rb +29 -0
  49. data/spec/dummy/config/environments/production.rb +80 -0
  50. data/spec/dummy/config/environments/test.rb +36 -0
  51. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  52. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  53. data/spec/dummy/config/initializers/inflections.rb +16 -0
  54. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  55. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  56. data/spec/dummy/config/initializers/session_store.rb +3 -0
  57. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  58. data/spec/dummy/config/locales/en.yml +23 -0
  59. data/spec/dummy/config/routes.rb +5 -0
  60. data/spec/dummy/config.ru +4 -0
  61. data/spec/dummy/lib/assets/.keep +0 -0
  62. data/spec/dummy/log/.keep +0 -0
  63. data/spec/dummy/log/test.log +34618 -0
  64. data/spec/dummy/public/404.html +58 -0
  65. data/spec/dummy/public/422.html +58 -0
  66. data/spec/dummy/public/500.html +57 -0
  67. data/spec/dummy/public/favicon.ico +0 -0
  68. data/spec/extra/schema.rb +1 -0
  69. data/spec/factories/topics.rb +6 -0
  70. data/spec/helpers/features_helper_spec.rb +24 -0
  71. data/spec/models/feature_spec.rb +131 -0
  72. data/spec/spec_helper.rb +17 -2
  73. metadata +136 -58
  74. data/spec/feature_spec.rb +0 -71
  75. /data/spec/{featureable_spec.rb → models/featureable_spec.rb} +0 -0
metadata CHANGED
@@ -1,191 +1,269 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_featureable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kainage
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-13 00:00:00.000000000 Z
11
+ date: 2013-05-17 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: bundler
14
+ name: rails
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '1.3'
22
- type: :development
19
+ version: 4.0.0.rc1
20
+ type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '1.3'
26
+ version: 4.0.0.rc1
30
27
  - !ruby/object:Gem::Dependency
31
- name: rake
28
+ name: bundler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: '0'
33
+ version: '1.3'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: '0'
40
+ version: '1.3'
46
41
  - !ruby/object:Gem::Dependency
47
- name: rspec
42
+ name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
- name: activerecord
56
+ name: rspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: sqlite3
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: shoulda-matchers
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
- name: activerecord
98
+ name: rspec-rails
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
- type: :runtime
104
+ type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  description: Add a feature resource to a rails app
127
112
  email:
128
113
  - kainage@gmail.com
129
- executables: []
114
+ executables:
115
+ - rails
130
116
  extensions: []
131
117
  extra_rdoc_files: []
132
118
  files:
133
119
  - .gitignore
134
120
  - .rspec
121
+ - .travis.yml
135
122
  - CHANGELOG.md
136
123
  - Gemfile
137
124
  - LICENSE.txt
138
125
  - README.md
139
126
  - Rakefile
140
127
  - acts_as_featureable.gemspec
128
+ - app/controllers/.keep
129
+ - app/controllers/features_controller.rb
130
+ - app/helpers/.keep
131
+ - app/helpers/features_helper.rb
132
+ - app/models/.keep
133
+ - app/models/feature.rb
134
+ - app/views/.keep
135
+ - app/views/features/_feature.html.erb
136
+ - app/views/features/_features.html.erb
137
+ - app/views/features/_form.html.erb
138
+ - app/views/features/edit.html.erb
139
+ - app/views/features/index.html.erb
140
+ - app/views/features/new.html.erb
141
+ - app/views/features/show.html.erb
142
+ - bin/rails
141
143
  - lib/acts_as_featureable.rb
142
- - lib/acts_as_featureable/feature.rb
144
+ - lib/acts_as_featureable/config.rb
145
+ - lib/acts_as_featureable/engine.rb
143
146
  - lib/acts_as_featureable/feature_methods.rb
144
147
  - lib/acts_as_featureable/featureable_methods.rb
145
148
  - lib/acts_as_featureable/version.rb
146
149
  - lib/generators/features_generator.rb
147
150
  - lib/generators/templates/create_features.rb
148
151
  - lib/generators/templates/initializer.rb
152
+ - spec/controllers/features_controller_spec.rb
153
+ - spec/dummy/README.rdoc
154
+ - spec/dummy/Rakefile
155
+ - spec/dummy/app/assets/javascripts/application.js
156
+ - spec/dummy/app/assets/stylesheets/application.css
157
+ - spec/dummy/app/controllers/application_controller.rb
158
+ - spec/dummy/app/controllers/concerns/.keep
159
+ - spec/dummy/app/helpers/application_helper.rb
160
+ - spec/dummy/app/mailers/.keep
161
+ - spec/dummy/app/models/.keep
162
+ - spec/dummy/app/models/concerns/.keep
163
+ - spec/dummy/app/views/layouts/application.html.erb
164
+ - spec/dummy/bin/bundle
165
+ - spec/dummy/bin/rails
166
+ - spec/dummy/bin/rake
167
+ - spec/dummy/config.ru
168
+ - spec/dummy/config/application.rb
169
+ - spec/dummy/config/boot.rb
170
+ - spec/dummy/config/database.yml
171
+ - spec/dummy/config/environment.rb
172
+ - spec/dummy/config/environments/development.rb
173
+ - spec/dummy/config/environments/production.rb
174
+ - spec/dummy/config/environments/test.rb
175
+ - spec/dummy/config/initializers/backtrace_silencers.rb
176
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
177
+ - spec/dummy/config/initializers/inflections.rb
178
+ - spec/dummy/config/initializers/mime_types.rb
179
+ - spec/dummy/config/initializers/secret_token.rb
180
+ - spec/dummy/config/initializers/session_store.rb
181
+ - spec/dummy/config/initializers/wrap_parameters.rb
182
+ - spec/dummy/config/locales/en.yml
183
+ - spec/dummy/config/routes.rb
184
+ - spec/dummy/lib/assets/.keep
185
+ - spec/dummy/log/.keep
186
+ - spec/dummy/log/test.log
187
+ - spec/dummy/public/404.html
188
+ - spec/dummy/public/422.html
189
+ - spec/dummy/public/500.html
190
+ - spec/dummy/public/favicon.ico
149
191
  - spec/extra/model.rb
150
192
  - spec/extra/schema.rb
151
- - spec/feature_spec.rb
152
- - spec/featureable_spec.rb
193
+ - spec/factories/topics.rb
194
+ - spec/helpers/features_helper_spec.rb
195
+ - spec/models/feature_spec.rb
196
+ - spec/models/featureable_spec.rb
153
197
  - spec/spec_helper.rb
154
198
  homepage: https://github.com/kainage/acts_as_featureable
155
199
  licenses:
156
200
  - MIT
201
+ metadata: {}
157
202
  post_install_message:
158
203
  rdoc_options: []
159
204
  require_paths:
160
205
  - lib
161
206
  required_ruby_version: !ruby/object:Gem::Requirement
162
- none: false
163
207
  requirements:
164
- - - ! '>='
208
+ - - '>='
165
209
  - !ruby/object:Gem::Version
166
210
  version: '0'
167
- segments:
168
- - 0
169
- hash: 548961575401388843
170
211
  required_rubygems_version: !ruby/object:Gem::Requirement
171
- none: false
172
212
  requirements:
173
- - - ! '>='
213
+ - - '>='
174
214
  - !ruby/object:Gem::Version
175
215
  version: '0'
176
- segments:
177
- - 0
178
- hash: 548961575401388843
179
216
  requirements: []
180
217
  rubyforge_project:
181
- rubygems_version: 1.8.24
218
+ rubygems_version: 2.0.3
182
219
  signing_key:
183
- specification_version: 3
220
+ specification_version: 4
184
221
  summary: Creates a new polymorphic resrouce, Feature, for pulling content to a main/features
185
222
  page
186
223
  test_files:
224
+ - spec/controllers/features_controller_spec.rb
225
+ - spec/dummy/README.rdoc
226
+ - spec/dummy/Rakefile
227
+ - spec/dummy/app/assets/javascripts/application.js
228
+ - spec/dummy/app/assets/stylesheets/application.css
229
+ - spec/dummy/app/controllers/application_controller.rb
230
+ - spec/dummy/app/controllers/concerns/.keep
231
+ - spec/dummy/app/helpers/application_helper.rb
232
+ - spec/dummy/app/mailers/.keep
233
+ - spec/dummy/app/models/.keep
234
+ - spec/dummy/app/models/concerns/.keep
235
+ - spec/dummy/app/views/layouts/application.html.erb
236
+ - spec/dummy/bin/bundle
237
+ - spec/dummy/bin/rails
238
+ - spec/dummy/bin/rake
239
+ - spec/dummy/config.ru
240
+ - spec/dummy/config/application.rb
241
+ - spec/dummy/config/boot.rb
242
+ - spec/dummy/config/database.yml
243
+ - spec/dummy/config/environment.rb
244
+ - spec/dummy/config/environments/development.rb
245
+ - spec/dummy/config/environments/production.rb
246
+ - spec/dummy/config/environments/test.rb
247
+ - spec/dummy/config/initializers/backtrace_silencers.rb
248
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
249
+ - spec/dummy/config/initializers/inflections.rb
250
+ - spec/dummy/config/initializers/mime_types.rb
251
+ - spec/dummy/config/initializers/secret_token.rb
252
+ - spec/dummy/config/initializers/session_store.rb
253
+ - spec/dummy/config/initializers/wrap_parameters.rb
254
+ - spec/dummy/config/locales/en.yml
255
+ - spec/dummy/config/routes.rb
256
+ - spec/dummy/lib/assets/.keep
257
+ - spec/dummy/log/.keep
258
+ - spec/dummy/log/test.log
259
+ - spec/dummy/public/404.html
260
+ - spec/dummy/public/422.html
261
+ - spec/dummy/public/500.html
262
+ - spec/dummy/public/favicon.ico
187
263
  - spec/extra/model.rb
188
264
  - spec/extra/schema.rb
189
- - spec/feature_spec.rb
190
- - spec/featureable_spec.rb
265
+ - spec/factories/topics.rb
266
+ - spec/helpers/features_helper_spec.rb
267
+ - spec/models/feature_spec.rb
268
+ - spec/models/featureable_spec.rb
191
269
  - spec/spec_helper.rb
data/spec/feature_spec.rb DELETED
@@ -1,71 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Feature do
4
- before :each do
5
- Feature.delete_all
6
- end
7
-
8
- subject { Feature.create! }
9
-
10
- it { should be_valid }
11
- it { should belong_to :featureable }
12
- it { should validate_numericality_of :position }
13
-
14
- ## LIMIT VALIDATION ##
15
- it "should only allow the default number of features to be made" do
16
- limit = ActsAsFeatureable.feature_limit
17
-
18
- # Create the limit of features
19
- limit.times do
20
- Feature.create!
21
- end
22
-
23
- # Attempt to create an additional feature
24
- expect { Feature.create! }.to raise_error ActiveRecord::RecordInvalid
25
- end
26
-
27
- ## TITLE ##
28
- it "should assign associated model's title" do
29
- @topic = Topic.new(:title => 'Title')
30
- feature = Feature.create!(:featureable => @topic)
31
-
32
- feature.title.should eql @topic.title
33
- end
34
-
35
- it "should overwrite associated model's title" do
36
- @topic = Topic.new(:title => 'Title')
37
- feature = Feature.create!(:featureable => @topic, :title => 'New Title')
38
-
39
- feature.title.should eql 'New Title'
40
- end
41
-
42
- ## SUMMARY ##
43
- it "should assign associated model's summary" do
44
- @topic = Topic.new(:summary => 'Summary')
45
- feature = Feature.create!(:featureable => @topic)
46
-
47
- feature.summary.should eql @topic.summary
48
- end
49
-
50
- it "should overwrite associated model's summary" do
51
- @topic = Topic.new(:summary => 'Summary')
52
- feature = Feature.create!(:featureable => @topic, :summary => 'New Summary')
53
-
54
- feature.summary.should eql 'New Summary'
55
- end
56
-
57
- ## POSITION ##
58
- it "should assign a default position" do
59
- subject.position.should_not be_nil
60
- end
61
-
62
- it "should assign a default position of 1 if there are none existing" do
63
- subject.position.should eql 1
64
- end
65
-
66
- it "should assign the next position in line if it already exists" do
67
- subject
68
- Feature.create!(:position => 1).position.should eql 2
69
- end
70
- end
71
-