active_mocker 1.4.2 → 1.5

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.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +35 -29
  4. data/lib/active_mocker.rb +3 -1
  5. data/lib/active_mocker/active_record.rb +27 -5
  6. data/lib/active_mocker/active_record/scope.rb +5 -5
  7. data/lib/active_mocker/active_record/unknown_module.rb +4 -4
  8. data/lib/active_mocker/generate.rb +36 -15
  9. data/lib/active_mocker/loaded_mocks.rb +60 -54
  10. data/lib/active_mocker/mock.rb +24 -0
  11. data/lib/active_mocker/mock/association.rb +6 -0
  12. data/lib/{active_mock → active_mocker/mock}/base.rb +43 -89
  13. data/lib/{active_mock → active_mocker/mock}/collection.rb +14 -7
  14. data/lib/{active_mock → active_mocker/mock}/do_nothing_active_record_methods.rb +7 -1
  15. data/lib/active_mocker/mock/exceptions.rb +25 -0
  16. data/lib/active_mocker/mock/has_and_belongs_to_many.rb +6 -0
  17. data/lib/active_mocker/mock/has_many.rb +60 -0
  18. data/lib/active_mocker/mock/hash_process.rb +19 -0
  19. data/lib/active_mocker/mock/mock_abilities.rb +98 -0
  20. data/lib/{active_mock → active_mocker/mock}/next_id.rb +7 -2
  21. data/lib/{active_mock → active_mocker/mock}/object_inspect.rb +3 -1
  22. data/lib/{active_mock → active_mocker/mock}/queries.rb +32 -29
  23. data/lib/active_mocker/mock/records.rb +62 -0
  24. data/lib/{active_mock → active_mocker/mock}/relation.rb +4 -3
  25. data/lib/active_mocker/mock/template_methods.rb +39 -0
  26. data/lib/active_mocker/mock_template.erb +45 -31
  27. data/lib/active_mocker/model_reader.rb +29 -0
  28. data/lib/active_mocker/model_schema.rb +23 -16
  29. data/lib/active_mocker/model_schema/generate.rb +19 -8
  30. data/lib/active_mocker/railtie.rb +17 -0
  31. data/lib/active_mocker/reparameterize.rb +2 -4
  32. data/lib/active_mocker/rspec_helper.rb +18 -0
  33. data/lib/active_mocker/task.rake +15 -0
  34. data/lib/active_mocker/version.rb +1 -1
  35. metadata +80 -206
  36. data/.gitignore +0 -19
  37. data/.hound.yml +0 -0
  38. data/.travis.yml +0 -5
  39. data/Gemfile +0 -4
  40. data/Rakefile +0 -26
  41. data/active_mocker.gemspec +0 -40
  42. data/lib/active_mock/association.rb +0 -7
  43. data/lib/active_mock/creators.rb +0 -25
  44. data/lib/active_mock/has_and_belongs_to_many.rb +0 -7
  45. data/lib/active_mock/has_many.rb +0 -54
  46. data/lib/active_mock/records.rb +0 -83
  47. data/lib/active_mocker/active_mock.rb +0 -26
  48. data/lib/active_mocker/active_record/const_missing.rb +0 -5
  49. data/lib/active_mocker/class_exists.rb +0 -12
  50. data/lib/active_mocker/const_sets.rb +0 -24
  51. data/lib/active_mocker/mock_task.rb +0 -12
  52. data/sample_app_rails_4/.idea/.generators +0 -8
  53. data/sample_app_rails_4/.idea/.name +0 -1
  54. data/sample_app_rails_4/.idea/.rakeTasks +0 -7
  55. data/sample_app_rails_4/.idea/dataSources.ids +0 -141
  56. data/sample_app_rails_4/.idea/dataSources.xml +0 -36
  57. data/sample_app_rails_4/.idea/dictionaries/zeisler.xml +0 -3
  58. data/sample_app_rails_4/.idea/encodings.xml +0 -5
  59. data/sample_app_rails_4/.idea/inspectionProfiles/Project_Default.xml +0 -20
  60. data/sample_app_rails_4/.idea/inspectionProfiles/profiles_settings.xml +0 -7
  61. data/sample_app_rails_4/.idea/misc.xml +0 -5
  62. data/sample_app_rails_4/.idea/modules.xml +0 -10
  63. data/sample_app_rails_4/.idea/runConfigurations/Development__sample_app_rails_4.xml +0 -28
  64. data/sample_app_rails_4/.idea/runConfigurations/Production__sample_app_rails_4.xml +0 -28
  65. data/sample_app_rails_4/.idea/runConfigurations/spec__sample_app_rails_4.xml +0 -26
  66. data/sample_app_rails_4/.idea/runConfigurations/test__sample_app_rails_4.xml +0 -28
  67. data/sample_app_rails_4/.idea/sample_app_rails_4.iml +0 -262
  68. data/sample_app_rails_4/.idea/scopes/scope_settings.xml +0 -5
  69. data/sample_app_rails_4/.idea/vcs.xml +0 -7
  70. data/sample_app_rails_4/.idea/workspace.xml +0 -619
  71. data/sample_app_rails_4/.rspec +0 -1
  72. data/sample_app_rails_4/.secret +0 -1
  73. data/sample_app_rails_4/Gemfile +0 -13
  74. data/sample_app_rails_4/Guardfile +0 -53
  75. data/sample_app_rails_4/LICENSE +0 -21
  76. data/sample_app_rails_4/README.md +0 -25
  77. data/sample_app_rails_4/README.nitrous.md +0 -20
  78. data/sample_app_rails_4/Rakefile +0 -6
  79. data/sample_app_rails_4/app/assets/images/rails.png +0 -0
  80. data/sample_app_rails_4/app/assets/javascripts/application.js +0 -17
  81. data/sample_app_rails_4/app/assets/javascripts/sessions.js.coffee +0 -3
  82. data/sample_app_rails_4/app/assets/javascripts/static_pages.js.coffee +0 -3
  83. data/sample_app_rails_4/app/assets/javascripts/users.js.coffee +0 -3
  84. data/sample_app_rails_4/app/assets/stylesheets/application.css +0 -13
  85. data/sample_app_rails_4/app/assets/stylesheets/custom.css.scss +0 -246
  86. data/sample_app_rails_4/app/assets/stylesheets/sessions.css.scss +0 -3
  87. data/sample_app_rails_4/app/assets/stylesheets/static_pages.css.scss +0 -3
  88. data/sample_app_rails_4/app/assets/stylesheets/users.css.scss +0 -3
  89. data/sample_app_rails_4/app/controllers/application_controller.rb +0 -6
  90. data/sample_app_rails_4/app/controllers/concerns/.keep +0 -0
  91. data/sample_app_rails_4/app/controllers/microposts_controller.rb +0 -31
  92. data/sample_app_rails_4/app/controllers/relationships_controller.rb +0 -21
  93. data/sample_app_rails_4/app/controllers/sessions_controller.rb +0 -21
  94. data/sample_app_rails_4/app/controllers/static_pages_controller.rb +0 -18
  95. data/sample_app_rails_4/app/controllers/users_controller.rb +0 -80
  96. data/sample_app_rails_4/app/helpers/application_helper.rb +0 -12
  97. data/sample_app_rails_4/app/helpers/sessions_helper.rb +0 -49
  98. data/sample_app_rails_4/app/helpers/static_pages_helper.rb +0 -2
  99. data/sample_app_rails_4/app/helpers/users_helper.rb +0 -10
  100. data/sample_app_rails_4/app/mailers/.keep +0 -0
  101. data/sample_app_rails_4/app/models/.keep +0 -0
  102. data/sample_app_rails_4/app/models/concerns/.keep +0 -0
  103. data/sample_app_rails_4/app/models/micropost.rb +0 -24
  104. data/sample_app_rails_4/app/models/relationship.rb +0 -6
  105. data/sample_app_rails_4/app/models/user.rb +0 -39
  106. data/sample_app_rails_4/app/views/layouts/_footer.html.erb +0 -13
  107. data/sample_app_rails_4/app/views/layouts/_header.html.erb +0 -31
  108. data/sample_app_rails_4/app/views/layouts/_shim.html.erb +0 -3
  109. data/sample_app_rails_4/app/views/layouts/application.html.erb +0 -22
  110. data/sample_app_rails_4/app/views/microposts/_micropost.html.erb +0 -11
  111. data/sample_app_rails_4/app/views/relationships/create.js.erb +0 -2
  112. data/sample_app_rails_4/app/views/relationships/destroy.js.erb +0 -2
  113. data/sample_app_rails_4/app/views/sessions/new.html.erb +0 -19
  114. data/sample_app_rails_4/app/views/shared/_error_messages.html.erb +0 -12
  115. data/sample_app_rails_4/app/views/shared/_feed.html.erb +0 -6
  116. data/sample_app_rails_4/app/views/shared/_feed_item.html.erb +0 -15
  117. data/sample_app_rails_4/app/views/shared/_micropost_form.html.erb +0 -7
  118. data/sample_app_rails_4/app/views/shared/_stats.html.erb +0 -15
  119. data/sample_app_rails_4/app/views/shared/_user_info.html.erb +0 -12
  120. data/sample_app_rails_4/app/views/static_pages/about.html.erb +0 -8
  121. data/sample_app_rails_4/app/views/static_pages/contact.html.erb +0 -6
  122. data/sample_app_rails_4/app/views/static_pages/help.html.erb +0 -8
  123. data/sample_app_rails_4/app/views/static_pages/home.html.erb +0 -34
  124. data/sample_app_rails_4/app/views/static_pages/show.html.erb +0 -0
  125. data/sample_app_rails_4/app/views/users/_follow.html.erb +0 -5
  126. data/sample_app_rails_4/app/views/users/_follow_form.html.erb +0 -9
  127. data/sample_app_rails_4/app/views/users/_unfollow.html.erb +0 -5
  128. data/sample_app_rails_4/app/views/users/_user.html.erb +0 -8
  129. data/sample_app_rails_4/app/views/users/edit.html.erb +0 -27
  130. data/sample_app_rails_4/app/views/users/index.html.erb +0 -10
  131. data/sample_app_rails_4/app/views/users/new.html.erb +0 -24
  132. data/sample_app_rails_4/app/views/users/show.html.erb +0 -24
  133. data/sample_app_rails_4/app/views/users/show_follow.html.erb +0 -30
  134. data/sample_app_rails_4/bin/bundle +0 -3
  135. data/sample_app_rails_4/bin/rails +0 -4
  136. data/sample_app_rails_4/bin/rake +0 -4
  137. data/sample_app_rails_4/bin/rspec +0 -16
  138. data/sample_app_rails_4/config.ru +0 -4
  139. data/sample_app_rails_4/config/application.rb +0 -28
  140. data/sample_app_rails_4/config/boot.rb +0 -4
  141. data/sample_app_rails_4/config/database.yml +0 -27
  142. data/sample_app_rails_4/config/environment.rb +0 -5
  143. data/sample_app_rails_4/config/environments/development.rb +0 -25
  144. data/sample_app_rails_4/config/environments/production.rb +0 -79
  145. data/sample_app_rails_4/config/environments/test.rb +0 -38
  146. data/sample_app_rails_4/config/initializers/active_mocker.rb +0 -12
  147. data/sample_app_rails_4/config/initializers/backtrace_silencers.rb +0 -7
  148. data/sample_app_rails_4/config/initializers/filter_parameter_logging.rb +0 -4
  149. data/sample_app_rails_4/config/initializers/inflections.rb +0 -16
  150. data/sample_app_rails_4/config/initializers/mime_types.rb +0 -5
  151. data/sample_app_rails_4/config/initializers/secret_token.rb +0 -22
  152. data/sample_app_rails_4/config/initializers/session_store.rb +0 -3
  153. data/sample_app_rails_4/config/initializers/wrap_parameters.rb +0 -14
  154. data/sample_app_rails_4/config/locales/en.yml +0 -23
  155. data/sample_app_rails_4/config/routes.rb +0 -17
  156. data/sample_app_rails_4/db/migrate/20130311191400_create_users.rb +0 -10
  157. data/sample_app_rails_4/db/migrate/20130311194153_add_index_to_users_email.rb +0 -5
  158. data/sample_app_rails_4/db/migrate/20130311201841_add_password_digest_to_users.rb +0 -5
  159. data/sample_app_rails_4/db/migrate/20130314184954_add_remember_token_to_users.rb +0 -6
  160. data/sample_app_rails_4/db/migrate/20130315015932_add_admin_to_users.rb +0 -5
  161. data/sample_app_rails_4/db/migrate/20130315175534_create_microposts.rb +0 -11
  162. data/sample_app_rails_4/db/migrate/20130315230445_create_relationships.rb +0 -13
  163. data/sample_app_rails_4/db/schema.rb +0 -51
  164. data/sample_app_rails_4/db/seeds.rb +0 -7
  165. data/sample_app_rails_4/features/signing_in.feature +0 -13
  166. data/sample_app_rails_4/features/step_definitions/authentication_steps.rb +0 -30
  167. data/sample_app_rails_4/features/support/env.rb +0 -59
  168. data/sample_app_rails_4/lib/assets/.keep +0 -0
  169. data/sample_app_rails_4/lib/tasks/.keep +0 -0
  170. data/sample_app_rails_4/lib/tasks/active_mocker.rake +0 -10
  171. data/sample_app_rails_4/lib/tasks/cucumber.rake +0 -65
  172. data/sample_app_rails_4/lib/tasks/sample_data.rake +0 -42
  173. data/sample_app_rails_4/lib/unit_logger.rb +0 -22
  174. data/sample_app_rails_4/public/404.html +0 -27
  175. data/sample_app_rails_4/public/422.html +0 -26
  176. data/sample_app_rails_4/public/500.html +0 -26
  177. data/sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css +0 -5091
  178. data/sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css.gz +0 -0
  179. data/sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js +0 -12952
  180. data/sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js.gz +0 -0
  181. data/sample_app_rails_4/public/assets/glyphicons-halflings-c806376f05e4ccabe2c5315a8e95667c.png +0 -0
  182. data/sample_app_rails_4/public/assets/glyphicons-halflings-white-62b67d9edee3db90d18833087f848d6e.png +0 -0
  183. data/sample_app_rails_4/public/assets/manifest-802de9eb1c853769101852422b620883.json +0 -1
  184. data/sample_app_rails_4/public/assets/rails-231a680f23887d9dd70710ea5efd3c62.png +0 -0
  185. data/sample_app_rails_4/public/favicon.ico +0 -0
  186. data/sample_app_rails_4/public/robots.txt +0 -5
  187. data/sample_app_rails_4/script/cucumber +0 -10
  188. data/sample_app_rails_4/spec/compare_mocker_and_record_spec.rb +0 -1038
  189. data/sample_app_rails_4/spec/factories.rb +0 -17
  190. data/sample_app_rails_4/spec/micropost_mock_spec.rb +0 -145
  191. data/sample_app_rails_4/spec/mocks/micropost_mock.rb +0 -153
  192. data/sample_app_rails_4/spec/mocks/relationship_mock.rb +0 -151
  193. data/sample_app_rails_4/spec/mocks/user_mock.rb +0 -215
  194. data/sample_app_rails_4/spec/reload_spec.rb +0 -45
  195. data/sample_app_rails_4/spec/spec_helper.rb +0 -46
  196. data/sample_app_rails_4/spec/user_mock_spec.rb +0 -197
  197. data/sample_app_rails_4/vendor/assets/javascripts/.keep +0 -0
  198. data/sample_app_rails_4/vendor/assets/stylesheets/.keep +0 -0
  199. data/spec/lib/acitve_mock/queriable_spec.rb +0 -207
  200. data/spec/lib/active_mocker/db_to_ruby_type_spec.rb +0 -124
  201. data/spec/lib/active_mocker/generate_spec.rb +0 -40
  202. data/spec/lib/active_mocker/loaded_mocks_spec.rb +0 -167
  203. data/spec/lib/active_mocker/logger_spec.rb +0 -32
  204. data/spec/lib/active_mocker/model_reader_spec.rb +0 -206
  205. data/spec/lib/active_mocker/model_schema/generate_spec.rb +0 -111
  206. data/spec/lib/active_mocker/model_schema_spec.rb +0 -145
  207. data/spec/lib/active_mocker/schema_reader_spec.rb +0 -109
  208. data/spec/lib/model.rb +0 -43
  209. data/spec/lib/person.rb +0 -9
  210. data/spec/lib/readme_spec.rb +0 -199
  211. data/spec/lib/reparameterize_spec.rb +0 -202
  212. data/spec/lib/schema.rb +0 -40
  213. data/spec/unit_logger.rb +0 -24
@@ -53,7 +53,7 @@ module ActiveMocker
53
53
 
54
54
  include LoggerToJson
55
55
 
56
- attr_reader :class_name, :table_name, :attributes, :relationships, :methods
56
+ attr_reader :class_name, :table_name, :attributes, :relationships, :methods, :modules
57
57
 
58
58
  def initialize( class_name: nil,
59
59
  table_name: nil,
@@ -61,6 +61,7 @@ module ActiveMocker
61
61
  relationships: nil,
62
62
  methods: nil,
63
63
  constants: nil,
64
+ modules: nil,
64
65
  is_join_table: nil,
65
66
  join_table_members: nil
66
67
  )
@@ -70,9 +71,9 @@ module ActiveMocker
70
71
  @relationships = relationships unless relationships.nil?
71
72
  @methods = methods unless (methods || []).empty?
72
73
  @constants = constants unless (constants || []).empty?
74
+ @modules = modules unless (modules || {}).empty?
73
75
  @is_join_table = is_join_table unless is_join_table.nil?
74
76
  @join_table_members = join_table_members unless join_table_members.nil?
75
-
76
77
  # UnitLogger.unit.info "#{caller_locations[1]}\n"
77
78
  # obj = ::JSON.parse(self.to_json)
78
79
  # UnitLogger.unit.info "#{self.class.name}: #{JSON.pretty_unparse(obj)}\n"
@@ -115,6 +116,10 @@ module ActiveMocker
115
116
  method_find(:class)
116
117
  end
117
118
 
119
+ def scope_methods
120
+ method_find(:scope)
121
+ end
122
+
118
123
  def method_find(type)
119
124
  return [] if methods.nil?
120
125
  methods.select { |r| r.type.to_sym == type }
@@ -127,7 +132,7 @@ module ActiveMocker
127
132
  def types_hash
128
133
  types = {}
129
134
  attributes.each do |attr|
130
- types[attr.name] = "build_type(#{attr.ruby_type})"
135
+ types[attr.name] = "#{attr.ruby_type}"
131
136
  end
132
137
 
133
138
  type_array = types.map do |name, type|
@@ -156,20 +161,12 @@ module ActiveMocker
156
161
  klass_name + "Mock"
157
162
  end
158
163
 
159
- def class_method_not_implemented
160
- not_implemented(class_methods)
164
+ def mockable_class_methods
165
+ class_methods.map(&:name).each_with_object({}) { |val, hash| hash[val] = nil }
161
166
  end
162
167
 
163
- def instance_method_not_implemented
164
- not_implemented(instance_methods)
165
- end
166
-
167
- def not_implemented(collection)
168
- hash = {}
169
- collection.each do |meth|
170
- hash[meth.name.to_s] = :not_implemented
171
- end
172
- hash
168
+ def mockable_instance_methods
169
+ instance_methods.map(&:name).each_with_object({}) { |val, hash| hash[val] = nil }
173
170
  end
174
171
 
175
172
  def render(template, mock_append_name)
@@ -243,11 +240,17 @@ module ActiveMocker
243
240
 
244
241
  def initialize( name:,
245
242
  arguments:,
246
- type:
243
+ type:,
244
+ proc: nil
247
245
  )
248
246
  @name = name
249
247
  @arguments = Arguments.new(arguments)
250
248
  @type = type
249
+ @proc = proc
250
+ end
251
+
252
+ def to_hash
253
+ {"name" => name, "arguments" => arguments, "type" => type}
251
254
  end
252
255
 
253
256
  class Arguments
@@ -262,6 +265,10 @@ module ActiveMocker
262
265
  @arguments
263
266
  end
264
267
 
268
+ def empty?
269
+ @arguments.empty?
270
+ end
271
+
265
272
  def to_s
266
273
  Reparameterize.call(arguments)
267
274
  end
@@ -4,14 +4,19 @@ module ActiveMocker
4
4
 
5
5
  class Generate
6
6
 
7
- attr_reader :schema_file, :models_dir
7
+ attr_reader :schema_file, :models_dir, :progress
8
8
 
9
- def initialize(schema_file:nil, models_dir:nil, logger:nil)
9
+ def initialize(schema_file:nil, models_dir:nil, logger:nil, progress: nil)
10
10
  @schema_file = schema_file
11
11
  @models_dir = models_dir
12
+ @progress = progress
12
13
  Logger.set(logger)
13
14
  end
14
15
 
16
+ def increment_progress
17
+ progress.increment unless progress.nil?
18
+ end
19
+
15
20
  def tables
16
21
  @tables ||= SchemaReader.new({schema_file: schema_file}).search(nil)
17
22
  end
@@ -35,19 +40,21 @@ module ActiveMocker
35
40
  table = get_table(model, model_name)
36
41
  attributes = build_attributes(table.fields, primary_key(table.fields, model))
37
42
 
43
+ increment_progress
44
+
38
45
  ModelSchema.new(class_name: model_name.camelize,
39
46
  table_name: table.name,
40
47
  attributes: attributes,
41
48
  methods: build_methods(model),
42
49
  relationships: build_relationships(model),
43
- constants: model.constants)
50
+ constants: model.constants,
51
+ modules: model.modules)
52
+
44
53
  end
45
54
 
46
55
  ModelSchemaCollection.new(model_schemas.compact)
47
56
  end
48
57
 
49
-
50
-
51
58
  # noinspection RubyArgCount
52
59
  def build_attributes(attributes, primary_attribute)
53
60
  attributes.map do |attr|
@@ -67,13 +74,17 @@ module ActiveMocker
67
74
  # noinspection RubyArgCount
68
75
  def build_methods(model)
69
76
  result = []
70
- {instance: model.instance_methods_with_arguments,
77
+ {scope: model.scopes_with_arguments,
78
+ instance: model.instance_methods_with_arguments,
71
79
  class: model.class_methods_with_arguments}.each do |type,methods|
72
80
  methods.map do |method|
73
81
  method_name = method.keys.first.to_s
74
- arguments = method.values.first
82
+ arguments = method.values.first
75
83
 
76
- result.push(ModelSchema::Methods.new(name: method_name,arguments: arguments,type:type))
84
+ result.push(ModelSchema::Methods.new(name: method_name,
85
+ arguments: arguments,
86
+ type: type,
87
+ proc: method[:proc]))
77
88
  end
78
89
  end
79
90
  result
@@ -0,0 +1,17 @@
1
+ module ActiveMocker
2
+ class Railtie < Rails::Railtie
3
+
4
+ rake_tasks do
5
+ load "active_mocker/task.rake"
6
+ end
7
+
8
+ config.to_prepare do
9
+ ActiveMocker::Generate.configure do |config|
10
+ config.schema_file = File.join(Rails.root, 'db/schema.rb')
11
+ config.model_dir = File.join(Rails.root, 'app/models')
12
+ config.mock_dir = File.join(Rails.root, 'spec/mocks')
13
+ config.logger = Rails.logger
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,8 +1,8 @@
1
1
  module ActiveMocker
2
2
  class Reparameterize
3
3
 
4
- def self.call(params, param_list:false)
5
- return param_list(params) if param_list
4
+ def self.call(params, param_list:nil)
5
+ return param_list(params) unless param_list.nil?
6
6
  method_arguments(params)
7
7
  end
8
8
 
@@ -19,8 +19,6 @@ class Reparameterize
19
19
  "#{param}:"
20
20
  when :key
21
21
  "#{param}: nil"
22
- else
23
- param
24
22
  end
25
23
  end.join(', ')
26
24
 
@@ -0,0 +1,18 @@
1
+ RSpec.configure do |config|
2
+
3
+ def mock_class(class_name)
4
+ return class_name.constantize if defined?(Rails) && !self.class.metadata[:active_mocker]
5
+ ActiveMocker::LoadedMocks.class_name_to_mock.select { |name, mock| name == class_name }.values.first
6
+ end
7
+
8
+ config.before(:each) do
9
+ if self.class.metadata[:active_mocker]
10
+ ActiveMocker::LoadedMocks.class_name_to_mock.each { |class_name, mock| stub_const(class_name, mock) }
11
+ end
12
+ end
13
+
14
+ config.after(:all) do
15
+ ActiveMocker::LoadedMocks.clear_all if self.class.metadata[:active_mocker]
16
+ end
17
+
18
+ end
@@ -0,0 +1,15 @@
1
+ namespace :active_mocker do
2
+ desc('Rebuild mocks.')
3
+ task :build => :environment do
4
+ ActiveMocker::Generate.new
5
+ end
6
+
7
+ end
8
+
9
+ ['db:schema:load', 'db:migrate', 'db:reset'].each do |task|
10
+ Rake::Task[task].enhance do
11
+ Rake::Task['active_mocker:build'].invoke
12
+ end
13
+ end
14
+
15
+
@@ -1,3 +1,3 @@
1
1
  module ActiveMocker
2
- VERSION = "1.4.2"
2
+ VERSION = "1.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_mocker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: '1.5'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dustin Zeisler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-17 00:00:00.000000000 Z
11
+ date: 2014-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ruby-progressbar
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.4'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.4'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +164,48 @@ dependencies:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
166
  version: '3.5'
167
+ - !ruby/object:Gem::Dependency
168
+ name: mutant
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.5'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.5'
181
+ - !ruby/object:Gem::Dependency
182
+ name: mutant-rspec
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '0.5'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '0.5'
195
+ - !ruby/object:Gem::Dependency
196
+ name: ruby-prof
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '0.15'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '0.15'
153
209
  description: Creates mocks from Active Record models. Allows your test suite to run
154
210
  very fast by not loading Rails or hooking to a database. It parse the schema definition
155
211
  and the defined methods on a model then saves a ruby file that can be included with
@@ -162,52 +218,49 @@ executables: []
162
218
  extensions: []
163
219
  extra_rdoc_files: []
164
220
  files:
165
- - ".gitignore"
166
- - ".hound.yml"
167
- - ".travis.yml"
168
- - Gemfile
221
+ - CHANGELOG.md
169
222
  - LICENSE.txt
170
223
  - README.md
171
- - Rakefile
172
- - active_mocker.gemspec
173
- - lib/active_mock/association.rb
174
- - lib/active_mock/base.rb
175
- - lib/active_mock/collection.rb
176
- - lib/active_mock/creators.rb
177
- - lib/active_mock/do_nothing_active_record_methods.rb
178
- - lib/active_mock/has_and_belongs_to_many.rb
179
- - lib/active_mock/has_many.rb
180
- - lib/active_mock/next_id.rb
181
- - lib/active_mock/object_inspect.rb
182
- - lib/active_mock/queries.rb
183
- - lib/active_mock/records.rb
184
- - lib/active_mock/relation.rb
185
224
  - lib/active_mocker.rb
186
- - lib/active_mocker/active_mock.rb
187
225
  - lib/active_mocker/active_record.rb
188
- - lib/active_mocker/active_record/const_missing.rb
189
226
  - lib/active_mocker/active_record/relationships.rb
190
227
  - lib/active_mocker/active_record/schema.rb
191
228
  - lib/active_mocker/active_record/scope.rb
192
229
  - lib/active_mocker/active_record/unknown_class_method.rb
193
230
  - lib/active_mocker/active_record/unknown_module.rb
194
- - lib/active_mocker/class_exists.rb
195
231
  - lib/active_mocker/config.rb
196
- - lib/active_mocker/const_sets.rb
197
232
  - lib/active_mocker/db_to_ruby_type.rb
198
233
  - lib/active_mocker/field.rb
199
234
  - lib/active_mocker/generate.rb
200
235
  - lib/active_mocker/loaded_mocks.rb
201
236
  - lib/active_mocker/logger.rb
202
- - lib/active_mocker/mock_task.rb
237
+ - lib/active_mocker/mock.rb
238
+ - lib/active_mocker/mock/association.rb
239
+ - lib/active_mocker/mock/base.rb
240
+ - lib/active_mocker/mock/collection.rb
241
+ - lib/active_mocker/mock/do_nothing_active_record_methods.rb
242
+ - lib/active_mocker/mock/exceptions.rb
243
+ - lib/active_mocker/mock/has_and_belongs_to_many.rb
244
+ - lib/active_mocker/mock/has_many.rb
245
+ - lib/active_mocker/mock/hash_process.rb
246
+ - lib/active_mocker/mock/mock_abilities.rb
247
+ - lib/active_mocker/mock/next_id.rb
248
+ - lib/active_mocker/mock/object_inspect.rb
249
+ - lib/active_mocker/mock/queries.rb
250
+ - lib/active_mocker/mock/records.rb
251
+ - lib/active_mocker/mock/relation.rb
252
+ - lib/active_mocker/mock/template_methods.rb
203
253
  - lib/active_mocker/mock_template.erb
204
254
  - lib/active_mocker/model_reader.rb
205
255
  - lib/active_mocker/model_schema.rb
206
256
  - lib/active_mocker/model_schema/generate.rb
207
257
  - lib/active_mocker/public_methods.rb
258
+ - lib/active_mocker/railtie.rb
208
259
  - lib/active_mocker/reparameterize.rb
260
+ - lib/active_mocker/rspec_helper.rb
209
261
  - lib/active_mocker/schema_reader.rb
210
262
  - lib/active_mocker/table.rb
263
+ - lib/active_mocker/task.rake
211
264
  - lib/active_mocker/version.rb
212
265
  - lib/active_record/app/models/person.rb
213
266
  - lib/active_record/app/models/zip_code.rb
@@ -215,170 +268,6 @@ files:
215
268
  - lib/active_record/db/schema.rb
216
269
  - lib/file_reader.rb
217
270
  - lib/string_reader.rb
218
- - sample_app_rails_4/.idea/.generators
219
- - sample_app_rails_4/.idea/.name
220
- - sample_app_rails_4/.idea/.rakeTasks
221
- - sample_app_rails_4/.idea/dataSources.ids
222
- - sample_app_rails_4/.idea/dataSources.xml
223
- - sample_app_rails_4/.idea/dictionaries/zeisler.xml
224
- - sample_app_rails_4/.idea/encodings.xml
225
- - sample_app_rails_4/.idea/inspectionProfiles/Project_Default.xml
226
- - sample_app_rails_4/.idea/inspectionProfiles/profiles_settings.xml
227
- - sample_app_rails_4/.idea/misc.xml
228
- - sample_app_rails_4/.idea/modules.xml
229
- - sample_app_rails_4/.idea/runConfigurations/Development__sample_app_rails_4.xml
230
- - sample_app_rails_4/.idea/runConfigurations/Production__sample_app_rails_4.xml
231
- - sample_app_rails_4/.idea/runConfigurations/spec__sample_app_rails_4.xml
232
- - sample_app_rails_4/.idea/runConfigurations/test__sample_app_rails_4.xml
233
- - sample_app_rails_4/.idea/sample_app_rails_4.iml
234
- - sample_app_rails_4/.idea/scopes/scope_settings.xml
235
- - sample_app_rails_4/.idea/vcs.xml
236
- - sample_app_rails_4/.idea/workspace.xml
237
- - sample_app_rails_4/.rspec
238
- - sample_app_rails_4/.secret
239
- - sample_app_rails_4/Gemfile
240
- - sample_app_rails_4/Guardfile
241
- - sample_app_rails_4/LICENSE
242
- - sample_app_rails_4/README.md
243
- - sample_app_rails_4/README.nitrous.md
244
- - sample_app_rails_4/Rakefile
245
- - sample_app_rails_4/app/assets/images/rails.png
246
- - sample_app_rails_4/app/assets/javascripts/application.js
247
- - sample_app_rails_4/app/assets/javascripts/sessions.js.coffee
248
- - sample_app_rails_4/app/assets/javascripts/static_pages.js.coffee
249
- - sample_app_rails_4/app/assets/javascripts/users.js.coffee
250
- - sample_app_rails_4/app/assets/stylesheets/application.css
251
- - sample_app_rails_4/app/assets/stylesheets/custom.css.scss
252
- - sample_app_rails_4/app/assets/stylesheets/sessions.css.scss
253
- - sample_app_rails_4/app/assets/stylesheets/static_pages.css.scss
254
- - sample_app_rails_4/app/assets/stylesheets/users.css.scss
255
- - sample_app_rails_4/app/controllers/application_controller.rb
256
- - sample_app_rails_4/app/controllers/concerns/.keep
257
- - sample_app_rails_4/app/controllers/microposts_controller.rb
258
- - sample_app_rails_4/app/controllers/relationships_controller.rb
259
- - sample_app_rails_4/app/controllers/sessions_controller.rb
260
- - sample_app_rails_4/app/controllers/static_pages_controller.rb
261
- - sample_app_rails_4/app/controllers/users_controller.rb
262
- - sample_app_rails_4/app/helpers/application_helper.rb
263
- - sample_app_rails_4/app/helpers/sessions_helper.rb
264
- - sample_app_rails_4/app/helpers/static_pages_helper.rb
265
- - sample_app_rails_4/app/helpers/users_helper.rb
266
- - sample_app_rails_4/app/mailers/.keep
267
- - sample_app_rails_4/app/models/.keep
268
- - sample_app_rails_4/app/models/concerns/.keep
269
- - sample_app_rails_4/app/models/micropost.rb
270
- - sample_app_rails_4/app/models/relationship.rb
271
- - sample_app_rails_4/app/models/user.rb
272
- - sample_app_rails_4/app/views/layouts/_footer.html.erb
273
- - sample_app_rails_4/app/views/layouts/_header.html.erb
274
- - sample_app_rails_4/app/views/layouts/_shim.html.erb
275
- - sample_app_rails_4/app/views/layouts/application.html.erb
276
- - sample_app_rails_4/app/views/microposts/_micropost.html.erb
277
- - sample_app_rails_4/app/views/relationships/create.js.erb
278
- - sample_app_rails_4/app/views/relationships/destroy.js.erb
279
- - sample_app_rails_4/app/views/sessions/new.html.erb
280
- - sample_app_rails_4/app/views/shared/_error_messages.html.erb
281
- - sample_app_rails_4/app/views/shared/_feed.html.erb
282
- - sample_app_rails_4/app/views/shared/_feed_item.html.erb
283
- - sample_app_rails_4/app/views/shared/_micropost_form.html.erb
284
- - sample_app_rails_4/app/views/shared/_stats.html.erb
285
- - sample_app_rails_4/app/views/shared/_user_info.html.erb
286
- - sample_app_rails_4/app/views/static_pages/about.html.erb
287
- - sample_app_rails_4/app/views/static_pages/contact.html.erb
288
- - sample_app_rails_4/app/views/static_pages/help.html.erb
289
- - sample_app_rails_4/app/views/static_pages/home.html.erb
290
- - sample_app_rails_4/app/views/static_pages/show.html.erb
291
- - sample_app_rails_4/app/views/users/_follow.html.erb
292
- - sample_app_rails_4/app/views/users/_follow_form.html.erb
293
- - sample_app_rails_4/app/views/users/_unfollow.html.erb
294
- - sample_app_rails_4/app/views/users/_user.html.erb
295
- - sample_app_rails_4/app/views/users/edit.html.erb
296
- - sample_app_rails_4/app/views/users/index.html.erb
297
- - sample_app_rails_4/app/views/users/new.html.erb
298
- - sample_app_rails_4/app/views/users/show.html.erb
299
- - sample_app_rails_4/app/views/users/show_follow.html.erb
300
- - sample_app_rails_4/bin/bundle
301
- - sample_app_rails_4/bin/rails
302
- - sample_app_rails_4/bin/rake
303
- - sample_app_rails_4/bin/rspec
304
- - sample_app_rails_4/config.ru
305
- - sample_app_rails_4/config/application.rb
306
- - sample_app_rails_4/config/boot.rb
307
- - sample_app_rails_4/config/database.yml
308
- - sample_app_rails_4/config/environment.rb
309
- - sample_app_rails_4/config/environments/development.rb
310
- - sample_app_rails_4/config/environments/production.rb
311
- - sample_app_rails_4/config/environments/test.rb
312
- - sample_app_rails_4/config/initializers/active_mocker.rb
313
- - sample_app_rails_4/config/initializers/backtrace_silencers.rb
314
- - sample_app_rails_4/config/initializers/filter_parameter_logging.rb
315
- - sample_app_rails_4/config/initializers/inflections.rb
316
- - sample_app_rails_4/config/initializers/mime_types.rb
317
- - sample_app_rails_4/config/initializers/secret_token.rb
318
- - sample_app_rails_4/config/initializers/session_store.rb
319
- - sample_app_rails_4/config/initializers/wrap_parameters.rb
320
- - sample_app_rails_4/config/locales/en.yml
321
- - sample_app_rails_4/config/routes.rb
322
- - sample_app_rails_4/db/migrate/20130311191400_create_users.rb
323
- - sample_app_rails_4/db/migrate/20130311194153_add_index_to_users_email.rb
324
- - sample_app_rails_4/db/migrate/20130311201841_add_password_digest_to_users.rb
325
- - sample_app_rails_4/db/migrate/20130314184954_add_remember_token_to_users.rb
326
- - sample_app_rails_4/db/migrate/20130315015932_add_admin_to_users.rb
327
- - sample_app_rails_4/db/migrate/20130315175534_create_microposts.rb
328
- - sample_app_rails_4/db/migrate/20130315230445_create_relationships.rb
329
- - sample_app_rails_4/db/schema.rb
330
- - sample_app_rails_4/db/seeds.rb
331
- - sample_app_rails_4/features/signing_in.feature
332
- - sample_app_rails_4/features/step_definitions/authentication_steps.rb
333
- - sample_app_rails_4/features/support/env.rb
334
- - sample_app_rails_4/lib/assets/.keep
335
- - sample_app_rails_4/lib/tasks/.keep
336
- - sample_app_rails_4/lib/tasks/active_mocker.rake
337
- - sample_app_rails_4/lib/tasks/cucumber.rake
338
- - sample_app_rails_4/lib/tasks/sample_data.rake
339
- - sample_app_rails_4/lib/unit_logger.rb
340
- - sample_app_rails_4/log/.keep
341
- - sample_app_rails_4/log/development.log
342
- - sample_app_rails_4/public/404.html
343
- - sample_app_rails_4/public/422.html
344
- - sample_app_rails_4/public/500.html
345
- - sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css
346
- - sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css.gz
347
- - sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js
348
- - sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js.gz
349
- - sample_app_rails_4/public/assets/glyphicons-halflings-c806376f05e4ccabe2c5315a8e95667c.png
350
- - sample_app_rails_4/public/assets/glyphicons-halflings-white-62b67d9edee3db90d18833087f848d6e.png
351
- - sample_app_rails_4/public/assets/manifest-802de9eb1c853769101852422b620883.json
352
- - sample_app_rails_4/public/assets/rails-231a680f23887d9dd70710ea5efd3c62.png
353
- - sample_app_rails_4/public/favicon.ico
354
- - sample_app_rails_4/public/robots.txt
355
- - sample_app_rails_4/script/cucumber
356
- - sample_app_rails_4/spec/compare_mocker_and_record_spec.rb
357
- - sample_app_rails_4/spec/factories.rb
358
- - sample_app_rails_4/spec/micropost_mock_spec.rb
359
- - sample_app_rails_4/spec/mocks/micropost_mock.rb
360
- - sample_app_rails_4/spec/mocks/relationship_mock.rb
361
- - sample_app_rails_4/spec/mocks/user_mock.rb
362
- - sample_app_rails_4/spec/reload_spec.rb
363
- - sample_app_rails_4/spec/spec_helper.rb
364
- - sample_app_rails_4/spec/user_mock_spec.rb
365
- - sample_app_rails_4/vendor/assets/javascripts/.keep
366
- - sample_app_rails_4/vendor/assets/stylesheets/.keep
367
- - spec/lib/acitve_mock/queriable_spec.rb
368
- - spec/lib/active_mocker/db_to_ruby_type_spec.rb
369
- - spec/lib/active_mocker/generate_spec.rb
370
- - spec/lib/active_mocker/loaded_mocks_spec.rb
371
- - spec/lib/active_mocker/logger_spec.rb
372
- - spec/lib/active_mocker/model_reader_spec.rb
373
- - spec/lib/active_mocker/model_schema/generate_spec.rb
374
- - spec/lib/active_mocker/model_schema_spec.rb
375
- - spec/lib/active_mocker/schema_reader_spec.rb
376
- - spec/lib/model.rb
377
- - spec/lib/person.rb
378
- - spec/lib/readme_spec.rb
379
- - spec/lib/reparameterize_spec.rb
380
- - spec/lib/schema.rb
381
- - spec/unit_logger.rb
382
271
  homepage: https://github.com/zeisler/active_mocker
383
272
  licenses:
384
273
  - MIT
@@ -391,7 +280,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
391
280
  requirements:
392
281
  - - ">="
393
282
  - !ruby/object:Gem::Version
394
- version: 2.0.0
283
+ version: 2.1.0
395
284
  required_rubygems_version: !ruby/object:Gem::Requirement
396
285
  requirements:
397
286
  - - ">="
@@ -404,19 +293,4 @@ signing_key:
404
293
  specification_version: 4
405
294
  summary: Creates mocks from Active Record models. Allows your test suite to run very
406
295
  fast by not loading Rails or hooking to a database.
407
- test_files:
408
- - spec/lib/acitve_mock/queriable_spec.rb
409
- - spec/lib/active_mocker/db_to_ruby_type_spec.rb
410
- - spec/lib/active_mocker/generate_spec.rb
411
- - spec/lib/active_mocker/loaded_mocks_spec.rb
412
- - spec/lib/active_mocker/logger_spec.rb
413
- - spec/lib/active_mocker/model_reader_spec.rb
414
- - spec/lib/active_mocker/model_schema/generate_spec.rb
415
- - spec/lib/active_mocker/model_schema_spec.rb
416
- - spec/lib/active_mocker/schema_reader_spec.rb
417
- - spec/lib/model.rb
418
- - spec/lib/person.rb
419
- - spec/lib/readme_spec.rb
420
- - spec/lib/reparameterize_spec.rb
421
- - spec/lib/schema.rb
422
- - spec/unit_logger.rb
296
+ test_files: []