fabrication 2.22.0 → 2.23.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
  SHA256:
3
- metadata.gz: e5efca9d24fec1fce10f12981c38be52e1f848d180d0a6a3d8d873edeba23a5f
4
- data.tar.gz: 9809d319c49147c4a6bc112035692083fc3ce7900b3c46c9c6caf79bbd6fb019
3
+ metadata.gz: af00199fb86206bfaecee18e88668f63446301f7bfff776831ad26a18c092187
4
+ data.tar.gz: b63b7eb25cf5e98f9051befe7ffdb2c994a07c149a32af93e4f48b183f17fdfe
5
5
  SHA512:
6
- metadata.gz: 982151a8ccffa983acc0c73ccac23e289849d3171d87d8c2bb7eefe3f5b9e2bd3dceb6074d7ca7a0fa41b5ec371f6b1732acf5579c0dc0c7fa9b1a8171f7e50e
7
- data.tar.gz: fa154309b92888850eb7c744741046c2b27dcf6cd358a9a0dbdd4f96d31d0d72e5f25637231d453457380fec2b29fe198fef03501d84d19cdd968d535165e364
6
+ metadata.gz: bfc49c073e8a19855863b5da27ff6c45aa45cd80eea134611b40174fb9c4ac2f9df6ee44e8dd3613001c7662a4e1ece7db0d2df78a8b025d647546d0f0fa137d
7
+ data.tar.gz: b8802428e05897ec7a0b6dc0a0a01f4d0c33437d5b3d4a895e116664e00fd7f79904143cfd9a6c8db4fb135d6f0c1c4c54754fb7b35fc47d7962209a1fe7eb6a
@@ -21,7 +21,7 @@ module Fabrication
21
21
 
22
22
  def fabricator_dir
23
23
  puts 'DEPRECATION WARNING: Fabrication::Config.fabricator_dir has been ' \
24
- 'replaced by Fabrication::Config.fabricator_path'
24
+ 'replaced by Fabrication::Config.fabricator_path'
25
25
  fabricator_path
26
26
  end
27
27
 
@@ -31,7 +31,7 @@ module Fabrication
31
31
 
32
32
  def fabricator_dir=(folders)
33
33
  puts 'DEPRECATION WARNING: Fabrication::Config.fabricator_dir has been ' \
34
- 'replaced by Fabrication::Config.fabricator_path'
34
+ 'replaced by Fabrication::Config.fabricator_path'
35
35
  self.fabricator_path = folders
36
36
  end
37
37
 
@@ -6,8 +6,8 @@ module Fabrication
6
6
  # so we can't assume because we have the ActiveRecord module that we also
7
7
  # have ActiveRecord::Base. Because defined? can return nil we ensure that nil
8
8
  # becomes false.
9
- defined?(::ActiveRecord) && defined?(::ActiveRecord::Base) &&
10
- klass.ancestors.include?(::ActiveRecord::Base) || false
9
+ (defined?(::ActiveRecord) && defined?(::ActiveRecord::Base) &&
10
+ klass.ancestors.include?(::ActiveRecord::Base)) || false
11
11
  end
12
12
 
13
13
  def build_instance
@@ -69,8 +69,12 @@ module Fabrication
69
69
  end
70
70
 
71
71
  def set_attributes
72
- _attributes.each do |k, v|
73
- _instance.send("#{k}=", v)
72
+ if _instance.respond_to?(:attributes=)
73
+ _instance.attributes = _attributes
74
+ else
75
+ _attributes.each do |k, v|
76
+ _instance.send("#{k}=", v)
77
+ end
74
78
  end
75
79
  end
76
80
 
@@ -7,7 +7,7 @@ module Fabrication
7
7
  end
8
8
 
9
9
  def self.supports?(klass)
10
- defined?(::Sequel) && klass.ancestors.include?(::Sequel::Model)
10
+ defined?(::Sequel) && defined?(::Sequel::Model) && klass.ancestors.include?(::Sequel::Model)
11
11
  end
12
12
 
13
13
  def set_attributes
@@ -5,7 +5,6 @@ module Fabrication
5
5
  Fabrication::Generator::ActiveRecord,
6
6
  Fabrication::Generator::DataMapper,
7
7
  Fabrication::Generator::Sequel,
8
- Fabrication::Generator::Mongoid,
9
8
  Fabrication::Generator::Base
10
9
  ].freeze
11
10
 
@@ -40,14 +40,20 @@ module Fabrication
40
40
  end
41
41
 
42
42
  def variable_name_to_class_name(name)
43
- name.to_s.gsub(%r{/(.?)}) do
44
- "::#{Regexp.last_match(1).upcase}"
45
- end.gsub(/(?:^|_)(.)/) { Regexp.last_match(1).upcase }
43
+ name_string = name.to_s
44
+
45
+ if name_string.respond_to?(:camelize)
46
+ name_string.camelize
47
+ else
48
+ name_string.gsub(%r{/(.?)}) do
49
+ "::#{Regexp.last_match(1).upcase}"
50
+ end.gsub(/(?:^|_)(.)/) { Regexp.last_match(1).upcase }
51
+ end
46
52
  end
47
53
 
48
54
  def find_definitions
49
55
  puts 'DEPRECATION WARNING: Fabrication::Support.find_definitions has been replaced ' \
50
- 'by Fabrication.manager.load_definitions and will be removed in 3.0.0.'
56
+ 'by Fabrication.manager.load_definitions and will be removed in 3.0.0.'
51
57
  Fabrication.manager.load_definitions
52
58
  end
53
59
 
@@ -1,3 +1,3 @@
1
1
  module Fabrication
2
- VERSION = '2.22.0'.freeze
2
+ VERSION = '2.23.0'.freeze
3
3
  end
data/lib/fabrication.rb CHANGED
@@ -33,7 +33,6 @@ module Fabrication
33
33
  autoload :ActiveRecord, 'fabrication/generator/active_record'
34
34
  autoload :ActiveRecord4, 'fabrication/generator/active_record_4'
35
35
  autoload :DataMapper, 'fabrication/generator/data_mapper'
36
- autoload :Mongoid, 'fabrication/generator/mongoid'
37
36
  autoload :Sequel, 'fabrication/generator/sequel'
38
37
  autoload :Base, 'fabrication/generator/base'
39
38
  end
@@ -53,7 +52,7 @@ module Fabrication
53
52
 
54
53
  def self.schematics
55
54
  puts 'DEPRECATION WARNING: Fabrication.schematics has been replaced by '\
56
- 'Fabrication.manager and will be removed in 3.0.0.'
55
+ 'Fabrication.manager and will be removed in 3.0.0.'
57
56
  manager
58
57
  end
59
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fabrication
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.22.0
4
+ version: 2.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Elliott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-25 00:00:00.000000000 Z
11
+ date: 2021-12-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Fabrication is an object generation framework for ActiveRecord, Mongoid,
14
14
  DataMapper, Sequel, or any other Ruby object.
@@ -33,7 +33,6 @@ files:
33
33
  - lib/fabrication/generator/active_record.rb
34
34
  - lib/fabrication/generator/base.rb
35
35
  - lib/fabrication/generator/data_mapper.rb
36
- - lib/fabrication/generator/mongoid.rb
37
36
  - lib/fabrication/generator/sequel.rb
38
37
  - lib/fabrication/railtie.rb
39
38
  - lib/fabrication/schematic/attribute.rb
@@ -63,14 +62,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
63
62
  requirements:
64
63
  - - ">="
65
64
  - !ruby/object:Gem::Version
66
- version: 2.5.0
65
+ version: 2.6.0
67
66
  required_rubygems_version: !ruby/object:Gem::Requirement
68
67
  requirements:
69
68
  - - ">="
70
69
  - !ruby/object:Gem::Version
71
70
  version: '0'
72
71
  requirements: []
73
- rubygems_version: 3.1.4
72
+ rubygems_version: 3.2.22
74
73
  signing_key:
75
74
  specification_version: 4
76
75
  summary: Implementing the factory pattern in Ruby so you don't have to.
@@ -1,17 +0,0 @@
1
- module Fabrication
2
- module Generator
3
- class Mongoid < Fabrication::Generator::Base
4
- def self.supports?(klass)
5
- defined?(::Mongoid) && klass.ancestors.include?(::Mongoid::Document)
6
- end
7
-
8
- def build_instance
9
- self._instance = if _klass.respond_to?(:protected_attributes)
10
- _klass.new(_attributes, without_protection: true)
11
- else
12
- _klass.new(_attributes)
13
- end
14
- end
15
- end
16
- end
17
- end