active_mocker 2.1.3 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +5 -0
- data/lib/active_mocker.rb +7 -6
- data/lib/active_mocker/config.rb +6 -8
- data/lib/active_mocker/deprecated_components/mock_abilities.rb +6 -10
- data/lib/active_mocker/deprecated_components/rspec.rb +2 -1
- data/lib/active_mocker/display_errors.rb +3 -2
- data/lib/active_mocker/error_object.rb +13 -13
- data/lib/active_mocker/file_path_to_ruby_class.rb +2 -3
- data/lib/active_mocker/file_writer.rb +125 -0
- data/lib/active_mocker/generate.rb +56 -71
- data/lib/active_mocker/hash_new_style.rb +2 -1
- data/lib/active_mocker/loaded_mocks.rb +9 -11
- data/lib/active_mocker/mock.rb +28 -26
- data/lib/active_mocker/mock/alias_attribute.rb +19 -0
- data/lib/active_mocker/mock/association.rb +2 -1
- data/lib/active_mocker/mock/base.rb +22 -20
- data/lib/active_mocker/mock/belongs_to.rb +1 -1
- data/lib/active_mocker/mock/collection.rb +6 -6
- data/lib/active_mocker/mock/do_nothing_active_record_methods.rb +4 -7
- data/lib/active_mocker/mock/exceptions.rb +1 -4
- data/lib/active_mocker/mock/has_and_belongs_to_many.rb +2 -1
- data/lib/active_mocker/mock/has_many.rb +6 -7
- data/lib/active_mocker/mock/has_one.rb +2 -2
- data/lib/active_mocker/mock/hash_process.rb +2 -2
- data/lib/active_mocker/mock/mock_relation.rb +1 -0
- data/lib/active_mocker/mock/object_inspect.rb +2 -2
- data/lib/active_mocker/mock/queries.rb +12 -16
- data/lib/active_mocker/mock/records.rb +3 -3
- data/lib/active_mocker/mock/relation.rb +5 -5
- data/lib/active_mocker/mock/single_relation.rb +2 -4
- data/lib/active_mocker/mock/template_methods.rb +3 -5
- data/lib/active_mocker/mock_creator.rb +78 -22
- data/lib/active_mocker/mock_template.erb +1 -0
- data/lib/active_mocker/mock_template/_recreate_class_method_calls.erb +12 -0
- data/lib/active_mocker/null_progress.rb +2 -2
- data/lib/active_mocker/parent_class.rb +4 -2
- data/lib/active_mocker/progress.rb +6 -8
- data/lib/active_mocker/public_methods.rb +3 -2
- data/lib/active_mocker/railtie.rb +3 -3
- data/lib/active_mocker/rspec.rb +2 -1
- data/lib/active_mocker/rspec_helper.rb +4 -3
- data/lib/active_mocker/task.rake +9 -10
- data/lib/active_mocker/template_creator.rb +5 -5
- data/lib/active_mocker/version.rb +2 -1
- metadata +25 -8
@@ -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,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
|
-
|
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
|
6
|
-
|
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
|
-
|
16
|
-
progress.increment
|
17
|
-
end
|
15
|
+
delegate :increment, to: :progress
|
18
16
|
|
19
17
|
def progress
|
20
|
-
@progress ||= ProgressBar.create(title:
|
18
|
+
@progress ||= ProgressBar.create(title: "Generating Mocks",
|
21
19
|
total: @count,
|
22
|
-
format:
|
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
|
-
|
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
|
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
|
data/lib/active_mocker/rspec.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
-
|
2
|
-
require
|
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[
|
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
|
data/lib/active_mocker/task.rake
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
namespace :active_mocker do
|
2
|
-
|
3
|
-
|
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(
|
15
|
+
desc("Run all tests tagged active_mocker")
|
16
16
|
task :test do
|
17
|
-
sh
|
17
|
+
sh "rspec --tag active_mocker"
|
18
18
|
end
|
19
19
|
|
20
|
-
desc(
|
20
|
+
desc("Run all tests tagged active_mocker and rails_compatible and will disable model stubbing")
|
21
21
|
task :rails_compatible do
|
22
|
-
sh
|
22
|
+
sh "RUN_WITH_RAILS=1 rspec --tag rails_compatible"
|
23
23
|
end
|
24
|
-
|
25
24
|
end
|
26
25
|
|
27
|
-
[
|
26
|
+
["db:migrate", "db:rollback"].each do |task|
|
28
27
|
Rake::Task[task].enhance do
|
29
|
-
Rake::Task[
|
28
|
+
Rake::Task["active_mocker:build"].invoke
|
30
29
|
end
|
31
30
|
end
|
@@ -1,17 +1,17 @@
|
|
1
|
-
|
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(
|
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
|
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.
|
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
|
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.
|
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.
|
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.
|
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.
|
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
|