active_mocker 2.1.3 → 2.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +5 -0
  4. data/lib/active_mocker.rb +7 -6
  5. data/lib/active_mocker/config.rb +6 -8
  6. data/lib/active_mocker/deprecated_components/mock_abilities.rb +6 -10
  7. data/lib/active_mocker/deprecated_components/rspec.rb +2 -1
  8. data/lib/active_mocker/display_errors.rb +3 -2
  9. data/lib/active_mocker/error_object.rb +13 -13
  10. data/lib/active_mocker/file_path_to_ruby_class.rb +2 -3
  11. data/lib/active_mocker/file_writer.rb +125 -0
  12. data/lib/active_mocker/generate.rb +56 -71
  13. data/lib/active_mocker/hash_new_style.rb +2 -1
  14. data/lib/active_mocker/loaded_mocks.rb +9 -11
  15. data/lib/active_mocker/mock.rb +28 -26
  16. data/lib/active_mocker/mock/alias_attribute.rb +19 -0
  17. data/lib/active_mocker/mock/association.rb +2 -1
  18. data/lib/active_mocker/mock/base.rb +22 -20
  19. data/lib/active_mocker/mock/belongs_to.rb +1 -1
  20. data/lib/active_mocker/mock/collection.rb +6 -6
  21. data/lib/active_mocker/mock/do_nothing_active_record_methods.rb +4 -7
  22. data/lib/active_mocker/mock/exceptions.rb +1 -4
  23. data/lib/active_mocker/mock/has_and_belongs_to_many.rb +2 -1
  24. data/lib/active_mocker/mock/has_many.rb +6 -7
  25. data/lib/active_mocker/mock/has_one.rb +2 -2
  26. data/lib/active_mocker/mock/hash_process.rb +2 -2
  27. data/lib/active_mocker/mock/mock_relation.rb +1 -0
  28. data/lib/active_mocker/mock/object_inspect.rb +2 -2
  29. data/lib/active_mocker/mock/queries.rb +12 -16
  30. data/lib/active_mocker/mock/records.rb +3 -3
  31. data/lib/active_mocker/mock/relation.rb +5 -5
  32. data/lib/active_mocker/mock/single_relation.rb +2 -4
  33. data/lib/active_mocker/mock/template_methods.rb +3 -5
  34. data/lib/active_mocker/mock_creator.rb +78 -22
  35. data/lib/active_mocker/mock_template.erb +1 -0
  36. data/lib/active_mocker/mock_template/_recreate_class_method_calls.erb +12 -0
  37. data/lib/active_mocker/null_progress.rb +2 -2
  38. data/lib/active_mocker/parent_class.rb +4 -2
  39. data/lib/active_mocker/progress.rb +6 -8
  40. data/lib/active_mocker/public_methods.rb +3 -2
  41. data/lib/active_mocker/railtie.rb +3 -3
  42. data/lib/active_mocker/rspec.rb +2 -1
  43. data/lib/active_mocker/rspec_helper.rb +4 -3
  44. data/lib/active_mocker/task.rake +9 -10
  45. data/lib/active_mocker/template_creator.rb +5 -5
  46. data/lib/active_mocker/version.rb +2 -1
  47. metadata +25 -8
@@ -9,5 +9,6 @@ class <%= class_name + mock_append_name %> < <%= parent_class %>
9
9
  <%= partials.attributes %>
10
10
  <%= partials.associations %>
11
11
  <%= partials.scopes %>
12
+ <%= partials.recreate_class_method_calls %>
12
13
  <%= partials.defined_methods %>
13
14
  end
@@ -0,0 +1,12 @@
1
+ # _recreate_class_method_calls.erb
2
+
3
+ def self.attribute_aliases
4
+ @attribute_aliases ||= <%= attribute_aliases %>.merge(super)
5
+ end
6
+
7
+ <% class_method_calls.each do |method| -%>
8
+ alias_method :<%= method.new_name %>, :<%= method.old_name %>
9
+ alias_method :<%= method.new_name %>=, :<%= method.old_name %>=
10
+
11
+ <% end -%>
12
+
@@ -1,8 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveMocker
2
3
  class NullProgress
3
-
4
4
  def self.create(*)
5
- self.new
5
+ new
6
6
  end
7
7
 
8
8
  def initialize(*)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveMocker
2
3
  class ParentClass
3
4
  def initialize(parsed_source:, klasses_to_be_mocked:, mock_append_name:, active_record_base_klass: ::ActiveRecord::Base)
@@ -22,11 +23,12 @@ module ActiveMocker
22
23
  if @parent_mock_name
23
24
  "#{@parent_mock_name}#{mock_append_name}"
24
25
  else
25
- 'ActiveMocker::Base'
26
+ "ActiveMocker::Base"
26
27
  end
27
28
  end
28
29
 
29
30
  private
31
+
30
32
  attr_reader :parsed_source,
31
33
  :klasses_to_be_mocked,
32
34
  :active_record_base_klass,
@@ -61,4 +63,4 @@ module ActiveMocker
61
63
  parent_class_name.constantize
62
64
  end
63
65
  end
64
- end
66
+ end
@@ -1,9 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveMocker
2
3
  class Progress
3
-
4
4
  def self.create(count)
5
- require 'ruby-progressbar'
6
- self.new(count)
5
+ require "ruby-progressbar"
6
+ new(count)
7
7
  rescue LoadError
8
8
  NullProgress.new
9
9
  end
@@ -12,14 +12,12 @@ module ActiveMocker
12
12
  @count = count
13
13
  end
14
14
 
15
- def increment
16
- progress.increment
17
- end
15
+ delegate :increment, to: :progress
18
16
 
19
17
  def progress
20
- @progress ||= ProgressBar.create(title: 'Generating Mocks',
18
+ @progress ||= ProgressBar.create(title: "Generating Mocks",
21
19
  total: @count,
22
- format: '%t |%b>>%i| %p%%')
20
+ format: "%t |%b>>%i| %p%%")
23
21
  end
24
22
  end
25
23
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveMocker
2
3
  class << self
3
4
  # Override default Configurations
@@ -22,7 +23,7 @@ module ActiveMocker
22
23
  Config.set(&block)
23
24
  self
24
25
  end
25
- alias_method :config, :configure
26
+ alias config configure
26
27
 
27
28
  # Generates Mocks file
28
29
  # @returns self
@@ -31,4 +32,4 @@ module ActiveMocker
31
32
  self
32
33
  end
33
34
  end
34
- end
35
+ end
@@ -1,12 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveMocker
2
3
  class Railtie < Rails::Railtie
3
-
4
4
  rake_tasks do
5
- load 'active_mocker/task.rake'
5
+ load "active_mocker/task.rake"
6
6
  end
7
7
 
8
8
  config.to_prepare do
9
9
  ActiveMocker::Config.load_defaults
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveMocker
2
3
  module Rspec
3
4
  # @return ActiveMocker::LoadedMocks
@@ -5,4 +6,4 @@ module ActiveMocker
5
6
  ActiveMocker::LoadedMocks
6
7
  end
7
8
  end
8
- end
9
+ end
@@ -1,11 +1,12 @@
1
- require 'active_mocker/loaded_mocks'
2
- require 'active_mocker/rspec'
1
+ # frozen_string_literal: true
2
+ require "active_mocker/loaded_mocks"
3
+ require "active_mocker/rspec"
3
4
 
4
5
  RSpec.configure do |config|
5
6
  config.include ActiveMocker::Rspec
6
7
 
7
8
  config.before(:each, active_mocker: true) do
8
- unless ENV['RUN_WITH_RAILS'] && self.class.metadata[:rails_compatible]
9
+ unless ENV["RUN_WITH_RAILS"] && self.class.metadata[:rails_compatible]
9
10
  active_mocker.mocks.each { |class_name, mock| stub_const(class_name, mock) }
10
11
  end
11
12
  end
@@ -1,7 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  namespace :active_mocker do
2
-
3
- desc('Rebuild mocks.')
4
- task :build => :environment do
3
+ desc("Rebuild mocks.")
4
+ task build: :environment do
5
5
  ActiveMocker.configure do |c|
6
6
  c.single_model_path = ENV["MODEL"] if ENV["MODEL"]
7
7
  c.model_dir = ENV["MODEL_DIR"] if ENV["MODEL_DIR"]
@@ -12,20 +12,19 @@ namespace :active_mocker do
12
12
  end.create_mocks
13
13
  end
14
14
 
15
- desc('Run all tests tagged active_mocker')
15
+ desc("Run all tests tagged active_mocker")
16
16
  task :test do
17
- sh 'rspec --tag active_mocker'
17
+ sh "rspec --tag active_mocker"
18
18
  end
19
19
 
20
- desc('Run all tests tagged active_mocker and rails_compatible and will disable model stubbing')
20
+ desc("Run all tests tagged active_mocker and rails_compatible and will disable model stubbing")
21
21
  task :rails_compatible do
22
- sh 'RUN_WITH_RAILS=1 rspec --tag rails_compatible'
22
+ sh "RUN_WITH_RAILS=1 rspec --tag rails_compatible"
23
23
  end
24
-
25
24
  end
26
25
 
27
- ['db:migrate', 'db:rollback'].each do |task|
26
+ ["db:migrate", "db:rollback"].each do |task|
28
27
  Rake::Task[task].enhance do
29
- Rake::Task['active_mocker:build'].invoke
28
+ Rake::Task["active_mocker:build"].invoke
30
29
  end
31
30
  end
@@ -1,17 +1,17 @@
1
- require 'forwardable'
1
+ # frozen_string_literal: true
2
+ require "forwardable"
2
3
 
3
4
  module ActiveMocker
4
5
  class TemplateCreator
5
-
6
- def initialize(erb_template:, file_out: nil, binding:, post_process: -> (str){str})
6
+ def initialize(erb_template:, file_out: nil, binding:, post_process: -> (str) { str })
7
7
  @erb_template = erb_template
8
8
  @binding = binding
9
- @file_out = file_out || Tempfile.new('TemplateModel')
9
+ @file_out = file_out || Tempfile.new("TemplateModel")
10
10
  @post_process = post_process
11
11
  end
12
12
 
13
13
  def render
14
- template = ERB.new(erb_template.read, nil, '>')
14
+ template = ERB.new(erb_template.read, nil, ">")
15
15
  file_out.write post_process.call(template.result(binding))
16
16
  file_out
17
17
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveMocker
2
- VERSION = "2.1.3".freeze
3
+ VERSION = "2.2.0"
3
4
  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: 2.1.3
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dustin Zeisler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-22 00:00:00.000000000 Z
11
+ date: 2016-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -70,14 +70,14 @@ dependencies:
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '10.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '10.0'
83
83
  - !ruby/object:Gem::Dependency
@@ -100,28 +100,28 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.2.1
103
+ version: 0.2.2
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.2.1
110
+ version: 0.2.2
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: dissociated_introspection
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.4.1
117
+ version: 0.5.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.4.1
124
+ version: 0.5.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '1.10'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.38.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.38.0
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rspec
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -176,10 +190,12 @@ files:
176
190
  - lib/active_mocker/display_errors.rb
177
191
  - lib/active_mocker/error_object.rb
178
192
  - lib/active_mocker/file_path_to_ruby_class.rb
193
+ - lib/active_mocker/file_writer.rb
179
194
  - lib/active_mocker/generate.rb
180
195
  - lib/active_mocker/hash_new_style.rb
181
196
  - lib/active_mocker/loaded_mocks.rb
182
197
  - lib/active_mocker/mock.rb
198
+ - lib/active_mocker/mock/alias_attribute.rb
183
199
  - lib/active_mocker/mock/association.rb
184
200
  - lib/active_mocker/mock/base.rb
185
201
  - lib/active_mocker/mock/belongs_to.rb
@@ -204,6 +220,7 @@ files:
204
220
  - lib/active_mocker/mock_template/_class_methods.erb
205
221
  - lib/active_mocker/mock_template/_defined_methods.erb
206
222
  - lib/active_mocker/mock_template/_modules_constants.erb
223
+ - lib/active_mocker/mock_template/_recreate_class_method_calls.erb
207
224
  - lib/active_mocker/mock_template/_scopes.erb
208
225
  - lib/active_mocker/null_progress.rb
209
226
  - lib/active_mocker/parent_class.rb