active_mocker 1.7.beta1 → 1.7.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +0 -5
- data/lib/active_mocker/mock.rb +1 -0
- data/lib/active_mocker/mock/base.rb +3 -3
- data/lib/active_mocker/mock/belongs_to.rb +2 -7
- data/lib/active_mocker/mock/has_one.rb +2 -6
- data/lib/active_mocker/mock/single_relation.rb +24 -0
- data/lib/active_mocker/mock_template.erb +2 -2
- data/lib/active_mocker/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0975aed9ead531daac453611e42d222199073bd
|
4
|
+
data.tar.gz: abffc672d856ccfde039f23bd118695a3448961f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e488d0a90b6058678ba60d1e94c8212ac7c5723c1fa218e6c2a333107020842e975027b7314d3eb46deec41e0a533787e87ae119fced6da38e73e6bca6ddb453
|
7
|
+
data.tar.gz: 2eb69e280988d909e648c1a18a22017205a57b97b172b3c28a8e98ae0c762bc8c6ad6121bb5e9e8b470c9d158e65171de37c1de9cccbb99ef89941ba78e55460
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
# Changelog
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
|
+
## 1.7.beta2 - 2-14-09-18
|
4
|
+
|
5
|
+
### Fix
|
6
|
+
- Bug where creating record with an id could cause a duplicate id error.
|
7
|
+
- Issue whenever an ActiveRecord Model has no schema behind it.
|
8
|
+
- Issue assigning association would fail, added guard to @associations to only read and write symbols.
|
9
|
+
|
10
|
+
## 1.7.beta1 - 2-14-09-6
|
11
|
+
|
12
|
+
### Enhancement
|
13
|
+
- A class that Inherits a model now has the table of the parent.
|
14
|
+
- Use this option if you need to modify where the mock generation hooks into. `ActiveMocker::Config.model_base_classes = %w[ ActiveRecord::Base ]`
|
15
|
+
- When running `rake active_mocker:build` it will display the number of mocks that failed.
|
16
|
+
- Remove deprecated option `ActiveMocker.mock`
|
17
|
+
- Exceptions in mock generation no longer halt the rest of the mocks from generating.
|
18
|
+
- Add explicit message of what to do when a method is unimplemented.
|
19
|
+
- Will create own log file `log/active_mocker.log` it will be cleared on each generation.
|
20
|
+
- Attributes, associations, and scopes will now inherit from their parent class.
|
21
|
+
- Initialization of an abstract class will raise an error.
|
22
|
+
- Remove Experimental feature reload
|
23
|
+
- Remove experimental flag for set foreign_key on collection for has_many, belongs_to, and has_one.
|
24
|
+
- `record._create_caller_locations` for debugging obj’s creation location.
|
25
|
+
|
26
|
+
### Fix
|
27
|
+
- Issue where using table names as the model file would replace a parent class with a child class that had the same table.
|
28
|
+
|
3
29
|
## 1.6.3 - 2014-08-14
|
4
30
|
|
5
31
|
### Fix
|
data/README.md
CHANGED
data/lib/active_mocker/mock.rb
CHANGED
@@ -13,6 +13,7 @@ require 'active_mocker/mock/queries'
|
|
13
13
|
require 'active_mocker/mock/relation'
|
14
14
|
require 'active_mocker/mock/association'
|
15
15
|
require 'active_mocker/mock/has_many'
|
16
|
+
require 'active_mocker/mock/single_relation'
|
16
17
|
require 'active_mocker/mock/has_one'
|
17
18
|
require 'active_mocker/mock/has_and_belongs_to_many'
|
18
19
|
require 'active_mocker/mock/belongs_to'
|
@@ -39,7 +39,7 @@ class Base
|
|
39
39
|
if attributes.is_a?(Array)
|
40
40
|
attributes.collect { |attr| create(attr, &block) }
|
41
41
|
else
|
42
|
-
record = new
|
42
|
+
record = new(id: attributes[:id] || attributes['id'])
|
43
43
|
record.save
|
44
44
|
record.assign_attributes(attributes, &block)
|
45
45
|
record._create_caller_locations = caller_locations
|
@@ -283,12 +283,12 @@ class Base
|
|
283
283
|
|
284
284
|
# @api private
|
285
285
|
def read_association(attr)
|
286
|
-
@associations[attr]
|
286
|
+
@associations[attr.to_sym]
|
287
287
|
end
|
288
288
|
|
289
289
|
# @api private
|
290
290
|
def write_association(attr, value)
|
291
|
-
@associations[attr] = value
|
291
|
+
@associations[attr.to_sym] = value
|
292
292
|
end
|
293
293
|
|
294
294
|
protected :read_attribute, :write_attribute, :read_association, :write_association
|
@@ -1,18 +1,13 @@
|
|
1
1
|
module ActiveMocker
|
2
2
|
module Mock
|
3
3
|
|
4
|
-
class BelongsTo
|
4
|
+
class BelongsTo < SingleRelation
|
5
5
|
|
6
6
|
attr_reader :item
|
7
7
|
|
8
8
|
def initialize(item, child_self:, foreign_key:, foreign_id:)
|
9
|
-
@item = item
|
10
9
|
child_self.send(:write_attribute, foreign_key, foreign_id) if item.try(:persisted?)
|
11
|
-
|
12
|
-
has_many = child_self.class.send('mocked_class').tableize
|
13
|
-
has_one = child_self.class.send('mocked_class').tableize.singularize
|
14
|
-
item.send(has_many) << child_self if item.respond_to?("#{has_many}=") && !item.send(has_many).include?(child_self)
|
15
|
-
item.send(:write_association, has_one, child_self) if item.respond_to?("#{has_one}=")
|
10
|
+
super
|
16
11
|
end
|
17
12
|
|
18
13
|
end
|
@@ -1,17 +1,13 @@
|
|
1
1
|
module ActiveMocker
|
2
2
|
module Mock
|
3
3
|
|
4
|
-
class HasOne
|
4
|
+
class HasOne < SingleRelation
|
5
5
|
|
6
6
|
attr_reader :item
|
7
7
|
|
8
8
|
def initialize(item, child_self:, foreign_key:, foreign_id:)
|
9
|
-
@item = item
|
10
9
|
item.send(:write_attribute, foreign_key, foreign_id) if item.respond_to?("#{foreign_key}=") && !foreign_id.nil?
|
11
|
-
|
12
|
-
has_one = child_self.class.send('mocked_class').tableize.singularize
|
13
|
-
item.send(has_many) << child_self if item.respond_to?("#{has_many}=") && !item.send(has_many).include?(child_self)
|
14
|
-
item.send(:write_association, has_one, child_self) if item.respond_to?("#{has_one}=")
|
10
|
+
super
|
15
11
|
end
|
16
12
|
|
17
13
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module ActiveMocker
|
2
|
+
module Mock
|
3
|
+
|
4
|
+
class SingleRelation
|
5
|
+
|
6
|
+
attr_reader :item
|
7
|
+
|
8
|
+
def initialize(item, child_self:, foreign_key:, foreign_id:)
|
9
|
+
@item = item
|
10
|
+
assign_associations(child_self, item)
|
11
|
+
end
|
12
|
+
|
13
|
+
def assign_associations(child_self, item)
|
14
|
+
has_many = child_self.class.send('mocked_class').tableize
|
15
|
+
has_one = child_self.class.send('mocked_class').tableize.singularize
|
16
|
+
item.send(has_many) << child_self if item.respond_to?("#{has_many}=") && !item.send(has_many).include?(child_self)
|
17
|
+
item.send(:write_association, has_one, child_self) if item.respond_to?("#{has_one}=")
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
@@ -97,11 +97,11 @@ class <%= class_name + @mock_append_name %> < <%= parent_class %>
|
|
97
97
|
<%= '# has_one' unless has_one.empty? -%>
|
98
98
|
<% has_one.each do |meth| %>
|
99
99
|
def <%= meth.name %>
|
100
|
-
read_association(
|
100
|
+
read_association(:<%= meth.name %>)
|
101
101
|
end
|
102
102
|
|
103
103
|
def <%= meth.name %>=(val)
|
104
|
-
@associations[
|
104
|
+
@associations[:<%= meth.name %>] = val
|
105
105
|
ActiveMocker::Mock::HasOne.new(val, child_self: self, foreign_key: '<%= meth.foreign_key %>', foreign_id: @attributes['id']).item
|
106
106
|
end
|
107
107
|
|
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.7.
|
4
|
+
version: 1.7.beta2
|
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-09-
|
11
|
+
date: 2014-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -312,6 +312,7 @@ files:
|
|
312
312
|
- lib/active_mocker/mock/queries.rb
|
313
313
|
- lib/active_mocker/mock/records.rb
|
314
314
|
- lib/active_mocker/mock/relation.rb
|
315
|
+
- lib/active_mocker/mock/single_relation.rb
|
315
316
|
- lib/active_mocker/mock/template_methods.rb
|
316
317
|
- lib/active_mocker/mock_template.erb
|
317
318
|
- lib/active_mocker/model_reader.rb
|