lightweight_attributes 0.1.1 → 0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bfed4ceb1afa4ba90cbbc25aded5373bb6536837b727f762ef3d9e2c05b7832a
4
- data.tar.gz: ef1c11b633d87dee781e8b993c2bb9b2be3404b7a5c23639c69a030f705b8424
3
+ metadata.gz: 965c0ceb8662d2802425c705db0131956442afaa98f425f4507dee532ed34699
4
+ data.tar.gz: '0893c81e5530ad360f1b378a6306d05722d119f69ab3bda5613bc861ff72c8fd'
5
5
  SHA512:
6
- metadata.gz: cbedd65671b67619ffab7374e5dec77856a9c7c95c0e1d2179e412203f1c94e3aac209ed91915708d30fe2eda03cb811ce80aef750e56a3ff59eaa27e6326fde
7
- data.tar.gz: b68eb07b3d17c0fe5ad9f797b79428214750e8dcbca2556790a3ec42521b81c46c5c8aa6a4c99072d68ad879c39338aadd52a1b62ee7f0ac9afa98db1abebb5a
6
+ metadata.gz: 1bda81118a9e589513c6f4ca595b2608cc89ec3106882e08fd8783470a235e03f7aa53f4dadbb60d41055b049cdb81bfc1a20572ad4d61893b9fc0c9d32847a5
7
+ data.tar.gz: d6ec7c9b89e1281ff8a655f0811149dc56f5ded81dc6ce959e15be3866ccb550b4287144951a8d66d43be4da75efb2189759678fc7c30a5a52a097be30ee7dbd
data/.gitignore CHANGED
@@ -6,3 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ Gemfile.lock
10
+ /log/
@@ -14,6 +14,10 @@ module LightweightAttributes
14
14
  self[name]
15
15
  end
16
16
 
17
+ def to_hash
18
+ @attributes
19
+ end
20
+
17
21
  private
18
22
 
19
23
  attr_reader :attributes
@@ -16,6 +16,11 @@ module LightweightAttributes
16
16
  @attributes[attr_name] = value
17
17
  end
18
18
 
19
+ # AR 5.0
20
+ private def write_attribute_with_type_cast(attr_name, value, _should_type_cast)
21
+ _write_attribute attr_name, value
22
+ end
23
+
19
24
  #NOTE: Should be true for user posted Time Hash, but who cares?
20
25
  def attribute_came_from_user?(_attribute_name)
21
26
  false
@@ -50,7 +55,15 @@ module LightweightAttributes
50
55
  end
51
56
 
52
57
  private def forget_attribute_assignments
58
+ @changed_attributes.each do |k, v|
59
+ @attributes[k] = v
60
+ end
53
61
  @changed_attributes.clear
54
62
  end
63
+
64
+ # AR 5.0
65
+ def store_original_attributes
66
+ forget_attribute_assignments
67
+ end
55
68
  end
56
69
  end
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "lightweight_attributes"
6
- spec.version = '0.1.1'.freeze
6
+ spec.version = '0.2.0'.freeze
7
7
  spec.authors = ["Akira Matsuda"]
8
8
  spec.email = ["ronnie@dio.jp"]
9
9
 
@@ -19,7 +19,10 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_development_dependency "bundler", "~> 1.16"
23
- spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "minitest", "~> 5.0"
22
+ spec.add_dependency 'activerecord'
23
+ spec.add_development_dependency 'rails'
24
+ spec.add_development_dependency "bundler"
25
+ spec.add_development_dependency "rake"
26
+ spec.add_development_dependency "minitest"
27
+ spec.add_development_dependency 'sqlite3'
25
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lightweight_attributes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
@@ -10,48 +10,90 @@ bindir: exe
10
10
  cert_chain: []
11
11
  date: 2018-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: bundler
15
43
  requirement: !ruby/object:Gem::Requirement
16
44
  requirements:
17
- - - "~>"
45
+ - - ">="
18
46
  - !ruby/object:Gem::Version
19
- version: '1.16'
47
+ version: '0'
20
48
  type: :development
21
49
  prerelease: false
22
50
  version_requirements: !ruby/object:Gem::Requirement
23
51
  requirements:
24
- - - "~>"
52
+ - - ">="
25
53
  - !ruby/object:Gem::Version
26
- version: '1.16'
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rake
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
- - - "~>"
59
+ - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: '10.0'
61
+ version: '0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
- - - "~>"
66
+ - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: '10.0'
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: minitest
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
- - - "~>"
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: sqlite3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
46
88
  - !ruby/object:Gem::Version
47
- version: '5.0'
89
+ version: '0'
48
90
  type: :development
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
- - - "~>"
94
+ - - ">="
53
95
  - !ruby/object:Gem::Version
54
- version: '5.0'
96
+ version: '0'
55
97
  description: Bring the speed back to your Active Record models!
56
98
  email:
57
99
  - ronnie@dio.jp