hobo 2.1.2 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12fc9a9fb6626d3e125ab54d4357c98f4ffec9b6
4
- data.tar.gz: bd705d3d658a46e93373599305f85476616911cb
3
+ metadata.gz: a47131d7bc70b7def777c284c85589c4157315ae
4
+ data.tar.gz: 7c36ca7f61f274d6cdf1b3e50eab85d32344d3c3
5
5
  SHA512:
6
- metadata.gz: f43ce9b0b3b8f70fa5f702de7b7ad11d0e5b1e347fd49718582ffdd63a23bfe6e1821ca36fd046b43f86850046d17448146fdd62b49bdcb0a376cfcc958172f9
7
- data.tar.gz: 61186300408c90cc1dbc6c24a0257fd027fd299a424e0ba3a59237d924b6ea282431ae78222be644fec1af91402e60ad73d6f647922e9ea0be0f430166f853a1
6
+ metadata.gz: 91991f1e78d2bd243125fbaddb4d43622aad3f176b07a4e8e5f3e33e8ff7f8a5d86f9a6f3f8135ae97525de3b591bdb4a01f793c995ec3ccc648812d4ca52a25
7
+ data.tar.gz: 64a86d4866dbe794894f078300b869c5518b3746aa57e334d7d63061be94a4bb77b54b114c0824a001f6f3fe8d87f14ccc22687dd75dd2619bf2ce4b1b53cccb
data/Gemfile CHANGED
@@ -1,7 +1,8 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem 'rubydoctest', :git => 'git://github.com/bryanlarsen/rubydoctest.git'
4
- gem 'rails', '4.0.8'
4
+ gem 'rails', '4.2.4'
5
+ gem 'responders', '~> 2.0'
5
6
  gem 'protected_attributes'
6
7
  gemspec :path => "../dryml"
7
8
  gemspec :path => "../hobo_support"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.2
1
+ 2.2.0
@@ -56,7 +56,8 @@ module HoboRouteHelper
56
56
  owner_name = refl.name.to_s
57
57
  owner_name = owner_name.singularize if refl.macro == :has_many
58
58
  poly = [owner_name, obj.member_class]
59
- params[:"#{owner_name}_id"] = obj.origin
59
+ params[:"#{owner_name}_id"] = obj.origin.id
60
+ params = params.symbolize_keys
60
61
  action = "#{action}_for_#{owner_name}"
61
62
  else
62
63
  poly = [obj.member_class]
@@ -85,6 +86,9 @@ module HoboRouteHelper
85
86
  rescue ActionController::RoutingError => e # raised if recognize_path fails
86
87
  logger.info("recognize_path has failed: #{e.message}")
87
88
  nil
89
+ rescue ActionController::UrlGenerationError => e # error that inherits from ActionController::RoutingError
90
+ logger.info("UrlGenerationError: #{e.message}")
91
+ nil
88
92
  end
89
93
 
90
94
  end
@@ -29,10 +29,6 @@ module Generators
29
29
  invoke 'helper', [name], options
30
30
  end
31
31
 
32
- hook_for :test_framework, :as => :controller do | instance, controller_test |
33
- instance.invoke controller_test, [ instance.name ]
34
- end
35
-
36
32
  end
37
33
  end
38
34
  end
@@ -102,8 +102,8 @@ module Generators
102
102
  raise ::Hobo::Error, "Hob routing error -- can't find reverse association for #{model}##{owner} " +
103
103
  "(e.g. the :has_many that corresponds to a :belongs_to)" if collection_refl.nil?
104
104
  collection = collection_refl.name
105
- owner_class = model.reflections[owner].klass.name.underscore
106
- owner = owner.to_s.singularize if model.reflections[owner].macro == :has_many
105
+ owner_class = model.reflections[owner.to_s].klass.name.underscore
106
+ owner = owner.to_s.singularize if model.reflections[owner.to_s].macro == :has_many
107
107
  collection_path = "#{owner_class.pluralize}/:#{owner}_id/#{collection}"
108
108
 
109
109
  routes = []
@@ -167,8 +167,8 @@ module Generators
167
167
  raise ::Hobo::Error, "Hob routing error -- can't find reverse association for #{model}##{owner} " +
168
168
  "(e.g. the :has_many that corresponds to a :belongs_to)" if collection_refl.nil?
169
169
  collection = collection_refl.name
170
- owner_class = model.reflections[owner].klass.name.underscore
171
- owner = owner.to_s.singularize if model.reflections[owner].macro == :has_many
170
+ owner_class = model.reflections[owner.to_s].klass.name.underscore
171
+ owner = owner.to_s.singularize if model.reflections[owner.to_s].macro == :has_many
172
172
  collection_path = "#{owner_class.pluralize}/:#{owner}_id/#{collection}"
173
173
 
174
174
  actions.each do |action|
@@ -150,28 +150,6 @@ EOI
150
150
  gem_with_comments('hobo_will_paginate', :comments => "\n# Hobo's version of will_paginate is required.")
151
151
  end
152
152
 
153
- def choose_test_framework
154
- if wizard?
155
- say_title 'Test Framework'
156
- return unless yes_no? "Do you want to customize the test_framework?"
157
- require 'generators/hobo/test_framework/test_framework_generator'
158
- f = Hobo::TestFrameworkGenerator::FRAMEWORKS * '|'
159
- test_framework = choose("Choose your preferred test framework: [<enter>=#{f}]:", /^(#{f})$/, 'test_unit')
160
- fixtures = yes_no?("Do you want the test framework to generate the fixtures?")
161
- fixture_replacement = ask("Type your preferred fixture replacement or <enter> for no replacement:")
162
- else
163
- # return if it is all default so no invoke is needed
164
- return if (options[:test_framework].to_s == 'test_unit' && options[:fixtures] && options[:fixture_replacement].blank?)
165
- test_framework = options[:test_framework]
166
- fixtures = options[:fixtures]
167
- fixture_replacement = options[:fixture_replacement]
168
- end
169
- invoke 'hobo:test_framework', [test_framework],
170
- :fixture_replacement => fixture_replacement,
171
- :fixtures => fixtures,
172
- :update => true
173
- end
174
-
175
153
  def front_controller
176
154
  if wizard?
177
155
  say_title 'Front Controller'
@@ -31,10 +31,6 @@ module Generators
31
31
  application "# Hobo: the #{file_name} subsite loads #{file_name}.css & #{file_name}.js"
32
32
  end
33
33
 
34
- hook_for :test_framework, :as => :controller do | instance, controller_test |
35
- instance.invoke controller_test, ["#{instance.name}_site"]
36
- end
37
-
38
34
  private
39
35
 
40
36
  def subsite_name
@@ -25,9 +25,5 @@ module Hobo
25
25
  template( 'activation.erb', File.join(mailer_dir, "activation.erb")) if options[:activation_email]
26
26
  end
27
27
 
28
- hook_for :test_framework, :as => :mailer do | instance, mailer |
29
- instance.invoke mailer, ["#{instance.name}_mailer"]
30
- end
31
-
32
28
  end
33
29
  end
@@ -44,7 +44,7 @@
44
44
  :params => [:name, :email_address],
45
45
  :new_key => true,
46
46
  :become => :invited do
47
- <%= class_name %>Mailer.invite(self, lifecycle.key).deliver
47
+ <%= class_name %>Mailer.invite(self, lifecycle.key).deliver_now
48
48
  end
49
49
 
50
50
  transition :accept_invitation, { :invited => :active }, :available_to => :key_holder,
@@ -57,13 +57,13 @@
57
57
  create :signup, :available_to => "Guest",
58
58
  :params => [:name, :email_address, :password, :password_confirmation],
59
59
  :become => :inactive, :new_key => true do
60
- <%= class_name %>Mailer.activation(self, lifecycle.key).deliver
60
+ <%= class_name %>Mailer.activation(self, lifecycle.key).deliver_now
61
61
  end
62
62
 
63
63
  transition :activate, { :inactive => :active }, :available_to => :key_holder
64
64
 
65
65
  transition :request_password_reset, { :inactive => :inactive }, :new_key => true do
66
- <%= class_name %>Mailer.activation(self, lifecycle.key).deliver
66
+ <%= class_name %>Mailer.activation(self, lifecycle.key).deliver_now
67
67
  end
68
68
 
69
69
  <% else -%>
@@ -75,7 +75,7 @@
75
75
 
76
76
  <% end -%>
77
77
  transition :request_password_reset, { :active => :active }, :new_key => true do
78
- <%= class_name %>Mailer.forgot_password(self, lifecycle.key).deliver
78
+ <%= class_name %>Mailer.forgot_password(self, lifecycle.key).deliver_now
79
79
  end
80
80
 
81
81
  transition :reset_password, { :active => :active }, :available_to => :key_holder,
@@ -269,7 +269,7 @@ module Hobo
269
269
 
270
270
 
271
271
  def auto_actions_for(owner, actions)
272
- name = model.reflections[owner].macro == :has_many ? owner.to_s.singularize : owner
272
+ name = model.reflections[owner.to_s].macro == :has_many ? owner.to_s.singularize : owner
273
273
 
274
274
  owner_actions[owner] ||= []
275
275
  Array(actions).each do |action|
@@ -358,7 +358,7 @@ module Hobo
358
358
 
359
359
 
360
360
  def find_instance(options={})
361
- model.user_find(current_user, params[:id], options) do |record|
361
+ model.user_find(current_user, params[:id]) do |record|
362
362
  yield record if block_given?
363
363
  end
364
364
  end
@@ -466,7 +466,7 @@ module Hobo
466
466
 
467
467
  def find_owner_and_association(owner_association)
468
468
  owner_name = name_of_auto_action_for(owner_association)
469
- refl = model.reflections[owner_association]
469
+ refl = model.reflections[owner_association.to_s]
470
470
  id = params["#{owner_name}_id"]
471
471
  owner = refl.klass.find(id)
472
472
  instance_variable_set("@#{owner_association}", owner)
@@ -474,7 +474,7 @@ module Hobo
474
474
  end
475
475
 
476
476
  def name_of_auto_action_for(owner_association)
477
- model.reflections[owner_association].macro == :has_many ? owner_association.to_s.singularize : owner_association
477
+ model.reflections[owner_association.to_s].macro == :has_many ? owner_association.to_s.singularize : owner_association
478
478
  end
479
479
 
480
480
  # --- Action implementations --- #
@@ -155,7 +155,7 @@ module Hobo
155
155
  options = args[1]
156
156
  end
157
157
  belongs_to_without_test_methods(name, *args, &block)
158
- refl = reflections[name]
158
+ refl = reflections[name.to_s]
159
159
  id_method = refl.options[:primary_key] || refl.klass.primary_key
160
160
  if options[:polymorphic]
161
161
  # TODO: the class lookup in _is? below is incomplete; a polymorphic association to an STI base class
@@ -259,7 +259,7 @@ module Hobo
259
259
 
260
260
 
261
261
  def reverse_reflection(association_name)
262
- refl = reflections[association_name.to_sym] or raise "No reverse reflection for #{name}.#{association_name}"
262
+ refl = reflections[association_name.to_s] or raise "No reverse reflection for #{name}.#{association_name}"
263
263
  return nil if refl.options[:conditions] || refl.options[:polymorphic]
264
264
 
265
265
  if refl.macro == :has_many && (self_to_join = refl.through_reflection)
@@ -54,7 +54,7 @@ module Hobo
54
54
  record.send(method, owner) if record.respond_to? method
55
55
  end
56
56
  else
57
- owner.include_in_save(association_name, record) unless owner.class.reflections[association_name].options[:through]
57
+ owner.include_in_save(association_name, record) unless owner.class.reflections[association_name.to_s].options[:through]
58
58
  end
59
59
  else
60
60
  # It's already a record
@@ -90,7 +90,7 @@ module Hobo
90
90
  end
91
91
 
92
92
  def finder_for_belongs_to(record, name)
93
- refl = record.class.reflections[name]
93
+ refl = record.class.reflections[name.to_s]
94
94
  #conditions = ActiveRecord::Associations::BelongsToAssociation.new(record, refl).reflection.send(:conditions)
95
95
  conditions = [[]]
96
96
  conditions == [[]] || conditions == [[],[]] ? refl.klass : refl.klass.scoped(:conditions => conditions)
@@ -13,10 +13,10 @@ module Hobo
13
13
 
14
14
  collection_name = $1.to_sym
15
15
  anchor_association_name = $2.to_sym
16
- if (refl = self.class.reflections[collection_name]) && refl.macro == :has_many
16
+ if (refl = self.class.reflections[collection_name.to_s]) && refl.macro == :has_many
17
17
  # the association name matches (e.g. comment_for_...)
18
18
 
19
- if (anchor_refl = refl.klass.reflections[anchor_association_name]) && anchor_refl.macro == :belongs_to
19
+ if (anchor_refl = refl.klass.reflections[anchor_association_name.to_s]) && anchor_refl.macro == :belongs_to
20
20
  # the whole thing matches (e.g. comment_for_user)
21
21
 
22
22
 
@@ -52,7 +52,7 @@ module Hobo
52
52
 
53
53
  def initialize(owner, name, collection, anchor_association)
54
54
  @association = owner.send(collection)
55
- @anchor_reflection = @association.member_class.reflections[anchor_association]
55
+ @anchor_reflection = @association.member_class.reflections[anchor_association.to_s]
56
56
  @name = name
57
57
  end
58
58
 
@@ -16,7 +16,7 @@ module Hobo
16
16
  def validate_included_in_save
17
17
  if included_in_save
18
18
  included_in_save._?.each_pair do |association, records|
19
- next if self.class.reflections[association].options[:validate]==false
19
+ next if self.class.reflections[association.to_s].options[:validate]==false
20
20
  added = false
21
21
  records.each do |record|
22
22
  # we want to call valid? on each one, but only add the error to self once
@@ -31,7 +31,7 @@ module Hobo
31
31
  who.detect { |w| publishable_by(user, w, record) }
32
32
 
33
33
  else
34
- refl = record.class.reflections[who]
34
+ refl = record.class.reflections[who.to_s]
35
35
  if refl && refl.macro == :has_many
36
36
  record.send(who).include?(user)
37
37
  elsif refl && refl.macro == :belongs_to
@@ -31,7 +31,7 @@ module Hobo
31
31
  params = options.fetch(:params, [])
32
32
  allowed = params.dup
33
33
  params.each do |p|
34
- if (refl = model.reflections[p]) && refl.macro == :belongs_to
34
+ if (refl = model.reflections[p.to_s]) && refl.macro == :belongs_to
35
35
  allowed << refl.foreign_key.to_s
36
36
  allowed << refl.options[:foreign_type] if refl.options[:polymorphic]
37
37
  end
@@ -24,7 +24,7 @@ module Hobo
24
24
  params = options.fetch(:params, [])
25
25
  allowed = params.dup
26
26
  params.each do |p|
27
- if (refl = model.reflections[p]) && refl.macro == :belongs_to
27
+ if (refl = model.reflections[p.to_s]) && refl.macro == :belongs_to
28
28
  allowed << refl.foreign_key.to_s
29
29
  allowed << refl.options[:foreign_type] if refl.options[:polymorphic]
30
30
  end
@@ -81,7 +81,7 @@ module Hobo
81
81
 
82
82
  def has_many_with_hobo_permission_check(association_id, *args, &extension)
83
83
  has_many_without_hobo_permission_check(association_id, *args, &extension)
84
- reflection = reflections[association_id]
84
+ reflection = reflections[association_id.to_s]
85
85
  if reflection.options[:dependent]==:destroy
86
86
  #overriding dynamic method created in ActiveRecord::Associations#configure_dependency_for_has_many
87
87
  method_name = "has_many_dependent_destroy_for_#{reflection.name}".to_sym
@@ -93,7 +93,7 @@ module Hobo
93
93
 
94
94
  def has_one_with_hobo_permission_check(association_id, *args, &extension)
95
95
  has_one_without_hobo_permission_check(association_id, *args, &extension)
96
- reflection = reflections[association_id]
96
+ reflection = reflections[association_id.to_s]
97
97
  if reflection.options[:dependent]==:destroy
98
98
  #overriding dynamic method created in ActiveRecord::Associations#configure_dependency_for_has_one
99
99
  method_name = "has_one_dependent_destroy_for_#{reflection.name}".to_sym
@@ -108,7 +108,7 @@ module Hobo
108
108
 
109
109
  def belongs_to_with_hobo_permission_check(association_id, *args, &extension)
110
110
  belongs_to_without_hobo_permission_check(association_id, *args, &extension)
111
- reflection = reflections[association_id]
111
+ reflection = reflections[association_id.to_s]
112
112
  if reflection.options[:dependent]==:destroy
113
113
  #overriding dynamic method created in ActiveRecord::Associations#configure_dependency_for_belongs_to
114
114
  method_name = "belongs_to_dependent_destroy_for_#{reflection.name}".to_sym
@@ -244,7 +244,7 @@ module Hobo
244
244
  # No setter = no edit permission
245
245
  return false if !respond_to?("#{attribute}=")
246
246
 
247
- refl = self.class.reflections[attribute.to_sym]
247
+ refl = self.class.reflections[attribute.to_s]
248
248
  if refl && refl.macro != :belongs_to # a belongs_to is handled the same as a regular attribute
249
249
  return association_editable_by?(user, refl)
250
250
  end
@@ -338,7 +338,7 @@ module Hobo
338
338
  end
339
339
 
340
340
  def with_attribute_or_belongs_to_keys(attribute)
341
- if (refl = self.class.reflections[attribute.to_sym]) && refl.macro == :belongs_to
341
+ if (refl = self.class.reflections[attribute.to_s]) && refl.macro == :belongs_to
342
342
  if refl.options[:polymorphic]
343
343
  yield refl.foreign_key, refl.options[:foreign_type]
344
344
  else
@@ -386,7 +386,7 @@ module Hobo
386
386
  end
387
387
  end
388
388
 
389
- if (refl = self.class.reflections[attr.to_sym]) && refl.macro == :belongs_to
389
+ if (refl = self.class.reflections[attr.to_s]) && refl.macro == :belongs_to
390
390
  # A belongs_to -- also unknownify the underlying fields
391
391
  unknownify_attribute refl.foreign_key
392
392
  unknownify_attribute refl.options[:foreign_type] if refl.options[:polymorphic]
@@ -429,7 +429,7 @@ module Hobo
429
429
 
430
430
  metaclass.send :remove_method, attr
431
431
 
432
- if (refl = self.class.reflections[attr]) && refl.macro == :belongs_to
432
+ if (refl = self.class.reflections[attr.to_s]) && refl.macro == :belongs_to
433
433
  # A belongs_to -- restore the underlying fields
434
434
  deunknownify_attribute refl.foreign_key
435
435
  deunknownify_attribute(refl.options[:foreign_type], false) if refl.options[:polymorphic]
@@ -404,7 +404,7 @@ module Hobo
404
404
 
405
405
 
406
406
  def reflection(name)
407
- @klass.reflections[name.to_sym]
407
+ @klass.reflections[name.to_s]
408
408
  end
409
409
 
410
410
 
@@ -14,7 +14,7 @@ creator_attribute = model.creator_attribute
14
14
  primary_collection = model.view_hints.primary_children
15
15
 
16
16
  if creator_attribute
17
- creator_refl = model.reflections[creator_attribute]
17
+ creator_refl = model.reflections[creator_attribute.to_s]
18
18
  creator_link = creator_refl && linkable?(creator_refl.klass, :show)
19
19
  end
20
20
 
@@ -105,11 +105,11 @@ model_key = model.to_s.underscore
105
105
 
106
106
  <%
107
107
  back_link = model.view_hints.parent
108
- back_link_human_name = model.reflections[back_link] && model.reflections[back_link].klass unless back_link.blank?
108
+ back_link_human_name = model.reflections[back_link.to_s] && model.reflections[back_link.to_s].klass unless back_link.blank?
109
109
  back_link_human_name = back_link_human_name && back_link_human_name.model_name.human
110
110
  boolean_fields = model.table_exists? ? (model.columns.select { |c| c.type == :boolean }.*.name - model.view_hints.inline_booleans) : []
111
111
  creator = model.creator_attribute
112
- creator_link = creator && model.reflections[creator] && linkable?(model.reflections[creator].klass, :show)
112
+ creator_link = creator && model.reflections[creator.to_s] && linkable?(model.reflections[creator.to_s].klass, :show)
113
113
  edit_link = linkable?(model, :edit)
114
114
  main_content = model.primary_content_attribute
115
115
  show_fields = standard_fields(:belongs_to).*.to_s - [model.name_attribute, main_content, creator, back_link, *boolean_fields].*.to_s
@@ -118,7 +118,7 @@ is_user_model = model < Hobo::Model::UserBase
118
118
 
119
119
  collection = model.view_hints.primary_children
120
120
  if collection
121
- collection_class = model.reflections[collection].klass
121
+ collection_class = model.reflections[collection.to_s].klass
122
122
  owner = model.reverse_reflection(collection)._?.name
123
123
  if owner
124
124
  add_link = collection && linkable?(collection_class, :"new_for_#{owner}")
@@ -127,7 +127,7 @@ if collection
127
127
  end
128
128
 
129
129
  unless model.view_hints.secondary_children.empty?
130
- aside_collections = model.view_hints.secondary_children.map { |c| [model.reflections[c], model.reverse_reflection(c)] }
130
+ aside_collections = model.view_hints.secondary_children.map { |c| [model.reflections[c.to_s], model.reverse_reflection(c)] }
131
131
  end
132
132
  -%>
133
133
  <def tag="show-page" for="<%= model.name %>">
@@ -261,14 +261,14 @@ name_attribute = model.name_attribute
261
261
 
262
262
  <% controller.owner_actions.each_pair do |owner, actions| -%>
263
263
  <%
264
- collection_name = model.reverse_reflection(owner).name.to_s
265
- owner_model = model.reflections[owner].klass
264
+ collection_name = model.reverse_reflection(owner.to_s).name.to_s
265
+ owner_model = model.reflections[owner.to_s].klass
266
266
  linkable_owner = linkable?(owner_model, :show)
267
267
  owner_tag = linkable_owner ? "a" : "name"
268
268
 
269
269
  owner_is_user = owner_model < Hobo::Model::UserBase
270
270
 
271
- owner = model.reflections[owner].macro == :has_many ? owner.to_s.singularize : owner.to_s
271
+ owner = model.reflections[owner.to_s].macro == :has_many ? owner.to_s.singularize : owner.to_s
272
272
  -%>
273
273
  <% if :index.in? actions -%>
274
274
  <%
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hobo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Locke
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.2
19
+ version: 2.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.1.2
26
+ version: 2.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: hobo_fields
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 2.1.2
33
+ version: 2.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 2.1.2
40
+ version: 2.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: dryml
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 2.1.2
47
+ version: 2.2.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 2.1.2
54
+ version: 2.2.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: hobo_will_paginate
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -231,9 +231,6 @@ files:
231
231
  - lib/generators/hobo/subsite_taglib/subsite_taglib_generator.rb
232
232
  - lib/generators/hobo/subsite_taglib/templates/taglib.dryml.erb
233
233
  - lib/generators/hobo/taglib.rb
234
- - lib/generators/hobo/test_framework/USAGE
235
- - lib/generators/hobo/test_framework/test_framework_generator.rb
236
- - lib/generators/hobo/test_options.rb
237
234
  - lib/generators/hobo/user_controller/USAGE
238
235
  - lib/generators/hobo/user_controller/templates/accept_invitation.dryml
239
236
  - lib/generators/hobo/user_controller/templates/controller.rb.erb
@@ -322,7 +319,6 @@ files:
322
319
  - test/irt/generators/resource.irt
323
320
  - test/irt/generators/subsite.irt
324
321
  - test/irt/generators/subsite_taglib.irt
325
- - test/irt/generators/test_framework.irt
326
322
  - test/irt/generators/user_controller.irt
327
323
  - test/irt/generators/user_mailer.irt
328
324
  - test/irt/generators/user_model.irt
@@ -1,2 +0,0 @@
1
- Description:
2
- This generator is used by the setup_wizard generator to set up the test framework.
@@ -1,72 +0,0 @@
1
- require 'bundler/cli'
2
- module Hobo
3
- class TestFrameworkGenerator < Rails::Generators::NamedBase
4
-
5
- include Generators::Hobo::TestOptions
6
-
7
- FRAMEWORKS = %w[test_unit rspec shoulda rspec_with_shoulda]
8
-
9
- def self.banner
10
- "rails generate hobo:test_framework NAME [options]"
11
- end
12
-
13
- def initialize(*)
14
- super
15
- @finalize_hooks = []
16
- end
17
-
18
- def setup_framework
19
- if FRAMEWORKS.include?(name)
20
- eval 'setup_' + name
21
- else
22
- say "'#{name}' is not supported. You should configure it manually."
23
- exit 1
24
- end
25
- end
26
-
27
- def fixture_replacement_installation
28
- return if options[:fixture_replacement].blank?
29
- gem options[:fixture_replacement], :group => :test
30
- end
31
-
32
- def finalize_installation
33
- # add the block only if it's not the default
34
- add_generators_block unless (name == 'test_unit' && options[:fixtures] && options[:fixture_replacement].blank?)
35
- invoke(Bundler::CLI, :update, [], {}) if options[:update] && @should_update
36
- @finalize_hooks.each {|h| h.call }
37
- end
38
-
39
- private
40
-
41
- def setup_test_unit
42
- end
43
-
44
- def setup_rspec
45
- gem 'rspec-rails', '>= 2.5.0', :group => [:test, :development]
46
- @should_update = true
47
- return unless options[:update]
48
- @finalize_hooks << lambda {say "Finalizing rspec installation..."; system 'rails g rspec:install'}
49
- end
50
-
51
- def setup_shoulda
52
- gem 'shoulda', :group => :test
53
- @should_update = true
54
- end
55
-
56
- def setup_rspec_with_shoulda
57
- setup_rspec
58
- setup_shoulda
59
- end
60
-
61
- def add_generators_block
62
- n = name == 'rspec_with_shoulda' ? 'rspec' : name
63
- block = "\n config.generators do |g|"
64
- block << "\n g.test_framework :#{n}, :fixtures => #{options[:fixtures].inspect}" if !options[:fixtures] || name != 'test_unit'
65
- block << "\n g.fallbacks[:#{n}] = :test_unit" unless name == 'test_unit'
66
- block << "\n g.fixture_replacement = :#{options[:fixture_replacement]}" unless options[:fixture_replacement].blank?
67
- block << "\n end\n"
68
- environment block
69
- end
70
-
71
- end
72
- end
@@ -1,19 +0,0 @@
1
- module Generators
2
- module Hobo
3
- TestOptions = classy_module do
4
-
5
- class_option :test_framework, :type => :string,
6
- :desc => "Use a specific test framework"
7
-
8
- class_option :fixtures, :type => :boolean,
9
- :desc => "Add the fixture option to the test framework", :default => true
10
-
11
- class_option :fixture_replacement, :type => :string,
12
- :desc => "Use a specific fixture replacement"
13
-
14
- class_option :update, :type => :boolean,
15
- :desc => "Run bundle update to install the missing gems"
16
-
17
- end
18
- end
19
- end
@@ -1,59 +0,0 @@
1
- desc "test_unit: default no-changes'"
2
- invoke 'hobo:test_framework', %w(test_unit)
3
- file_exclude? 'config/application.rb',
4
- 'config.generators do' ,
5
- 'test_framework :test_unit'
6
- test_value_eql? true
7
-
8
- git_reset_app
9
-
10
- desc "test_unit: don't generate fixtures'"
11
- invoke 'hobo:test_framework', %w(test_unit --no-fixtures)
12
- file_include? 'config/application.rb',
13
- 'config.generators do' ,
14
- 'test_framework :test_unit, :fixtures => false'
15
- test_value_eql? true
16
-
17
- git_reset_app
18
-
19
- desc "shoulda application.rb injection"
20
- invoke 'hobo:test_framework', %w(shoulda --no-update -q)
21
- file_include? 'config/application.rb',
22
- 'config.generators do' ,
23
- 'test_framework :shoulda, :fixtures => true'
24
- test_value_eql? true
25
-
26
- desc "shoulda Gemfile injection"
27
- file_include? 'Gemfile', %(gem "shoulda", group: :test)
28
- test_value_eql? true
29
-
30
- git_reset_app
31
-
32
- desc "rspec application.rb injection"
33
- invoke 'hobo:test_framework', %w(rspec --no-update -q)
34
- file_include? 'config/application.rb',
35
- 'config.generators do' ,
36
- 'test_framework :rspec, :fixtures => true',
37
- 'fallbacks[:rspec] = :test_unit'
38
- test_value_eql? true
39
-
40
- desc "rspec Gemfile injection"
41
- file_include? 'Gemfile', %(gem "rspec-rails", ">= 2.5.0", group: [:test, :development])
42
- test_value_eql? true
43
-
44
- git_reset_app
45
-
46
- desc "rspec_with_shoulda application.rb injection"
47
- invoke 'hobo:test_framework', %w(rspec_with_shoulda --no-update -q)
48
- file_include? 'config/application.rb',
49
- 'config.generators do' ,
50
- 'test_framework :rspec, :fixtures => true',
51
- 'fallbacks[:rspec] = :test_unit'
52
- test_value_eql? true
53
-
54
- desc "rspec_with_shoulda Gemfile injection"
55
- file_include? 'Gemfile', %(gem "rspec-rails", ">= 2.5.0", group: [:test, :development]),
56
- %(gem "shoulda", group: :test)
57
- test_value_eql? true
58
-
59
-