artisanal-model 0.2.0 → 0.2.1

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: 74c99f3a53173417323c014e30722f54063402e2ed9a2e1e615131ff8ed02402
4
- data.tar.gz: 33422ea03f1cdedad2ab332e4874525a367d9a344743cdd65378ad2f425b56a7
3
+ metadata.gz: a3e7d75444f838582f497d9f9791d95c48a996961086228382014aa4e528e721
4
+ data.tar.gz: 7462863d53007667134440a19ddb604ba302d5cb1a91d529247f51d294ef2027
5
5
  SHA512:
6
- metadata.gz: 713b969405ef5bc54e0604e6f99fbca0e154051836588e6208a5fb9e283eab7cf38825f321e4cb4dcbf184bfe948a7acbf3a33fead7270d58b604c46e43badef
7
- data.tar.gz: 3a606d437f1db3d241c3530b08e1be9d461525dea970861a2dc5d7fde4db5970a836c0019944a498d0b0728f7d70d0dbe0bb335b634705b97cc7a1205d002721
6
+ metadata.gz: c966b5f4f879f8b63ce9dac63dba60cfa277905f56de0b71e1a3ed934f8e01671345778ec229523b74d8af3f9437096b659934c305ceafb473c6fdd499484795
7
+ data.tar.gz: 6bcb53d248f119b1a78925c241870088750b8aa29a7f3a80b214496dff4788693afbcdb3e6f2b9720db9306a02b37984962059d835de98d70a7b5f430143aaf0
data/CHANGELOG.md ADDED
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ ## [0.2.1] - 2024-04-09
4
+
5
+ ### Enhancements
6
+ - Corrected .gemspec with links to the forked Github repository
7
+ - Added some description to README.md regarding the fork
8
+ - Added CHANGELOG.md
9
+
10
+ ## [0.2.0] - 2024-04-09
11
+
12
+ ### Enhancements
13
+ - Forked from [goldstar/artisanal-model](https://github.com/goldstar/artisanal-model)
14
+ - Support Ruby 3 ([#1](https://github.com/stellarlive/artisanal-model/pull/1))
data/README.md CHANGED
@@ -1,7 +1,10 @@
1
1
  # artisanal-model
2
+ This has been forked from [goldstar/artisanal-model](https://github.com/goldstar/artisanal-model).
2
3
 
3
4
  Artisanal::Model is a light-weight attribute modeling DSL that wraps [dry-initializer](https://dry-rb.org/gems/dry-initializer/), providing extra configuration and a slightly cleaner DSL.
4
5
 
6
+ The fork intends to patch some keyword argument caveats that were necessary for Stellar to upgrade to Ruby 3.0.6. The original functionality is meant to be kept intact.
7
+
5
8
  ## Installation
6
9
 
7
10
  Add this line to your application's Gemfile:
@@ -17,7 +20,7 @@ And then execute:
17
20
  Or install it yourself as:
18
21
 
19
22
  $ gem install artisanal-model
20
-
23
+
21
24
  ## Configuration
22
25
 
23
26
  Artisanal::Model configuration is done on a per-model basis. There is no global configuration (at this time):
@@ -168,7 +171,7 @@ class Tag < Model
168
171
  attribute :name
169
172
  end
170
173
 
171
- class Person < Model
174
+ class Person < Model
172
175
  attribute :name
173
176
  attribute :address, Address
174
177
  attribute :tags, Array[Tag]
@@ -192,10 +195,10 @@ attrs = {
192
195
 
193
196
  Person.new(attrs).tap do |person|
194
197
  person.name #=> 'John Smith'
195
-
198
+
196
199
  person.address.street #=> '123 Main St.'
197
200
  person.address.zip #=> '97213'
198
-
201
+
199
202
  person.tags.count #=> 2
200
203
  person.tags.first.name #=> 'Ruby'
201
204
  end
@@ -210,7 +213,7 @@ Artisanal::Model can also add writer methods that aren't provided from dry-initi
210
213
 
211
214
  class Person < Model
212
215
  attribute :name
213
- attribute :email, writer: false
216
+ attribute :email, writer: false
214
217
  attribute :phone, writer: :protected # the same as adding `protected :phone`
215
218
  attribute :age, writer: :private # the same as adding `private :age`
216
219
  end
@@ -242,10 +245,10 @@ class Person < Model
242
245
  attribute :email
243
246
  attribute :age
244
247
  end
245
-
248
+
246
249
  Person.new(name: 'John Smith', email: 'john@example.com', age: '37').tap do |person|
247
250
  person.name #=> 'John Smith'
248
-
251
+
249
252
  person.assign_attributes(name: 'Bob Johnson', email: 'bob@example.com')
250
253
 
251
254
  person.name #=> 'Bob Johnson'
@@ -276,7 +279,7 @@ end
276
279
 
277
280
  ### undefined attributes
278
281
 
279
- Dry-initializer [differentiates](https://dry-rb.org/gems/dry-initializer/skip-undefined/) between a `nil` value passed in for an attribute and nothing passed in at all.
282
+ Dry-initializer [differentiates](https://dry-rb.org/gems/dry-initializer/skip-undefined/) between a `nil` value passed in for an attribute and nothing passed in at all.
280
283
 
281
284
  This can be turned off through Artisanal::Model for performance reasons if you don't care about the differences between `nil` and undefined. However, if turned on, serializing to a hash will also exclude undefined values by default:
282
285
 
@@ -5,12 +5,12 @@ require "artisanal/model/version"
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "artisanal-model"
7
7
  spec.version = Artisanal::Model::VERSION
8
- spec.authors = ["Jared Hoyt, Matthew Peychich"]
9
- spec.email = ["jaredhoyt@gmail.com, mpeychich@mac.com"]
8
+ spec.authors = ["Jared Hoyt, Matthew Peychich", "Nicolas Quintana"]
9
+ spec.email = ["jaredhoyt@gmail.com, mpeychich@mac.com", "nicolas.quintana@razortech.com.ar"]
10
10
 
11
- spec.summary = %q{A light attributes wrapper for dry-initializer}
12
- spec.description = %q{A light attributes wrapper for dry-initializer}
13
- spec.homepage = "https://github.com/goldstar/artisanal-model"
11
+ spec.summary = %q{A light attributes wrapper for dry-initializer.}
12
+ spec.description = %q{A light attributes wrapper for dry-initializer. Forked from "https://github.com/goldstar/artisanal-model"}
13
+ spec.homepage = "https://github.com/stellarlive/artisanal-model"
14
14
  spec.license = "MIT"
15
15
 
16
16
  # Specify which files should be added to the gem when it is released.
@@ -1,5 +1,5 @@
1
1
  module Artisanal
2
2
  module Model
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,10 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artisanal-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jared Hoyt, Matthew Peychich
8
+ - Nicolas Quintana
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
@@ -122,9 +123,10 @@ dependencies:
122
123
  - - "~>"
123
124
  - !ruby/object:Gem::Version
124
125
  version: '1.2'
125
- description: A light attributes wrapper for dry-initializer
126
+ description: A light attributes wrapper for dry-initializer. Forked from "https://github.com/goldstar/artisanal-model"
126
127
  email:
127
128
  - jaredhoyt@gmail.com, mpeychich@mac.com
129
+ - nicolas.quintana@razortech.com.ar
128
130
  executables: []
129
131
  extensions: []
130
132
  extra_rdoc_files: []
@@ -133,6 +135,7 @@ files:
133
135
  - ".gitignore"
134
136
  - ".rspec"
135
137
  - ".travis.yml"
138
+ - CHANGELOG.md
136
139
  - Gemfile
137
140
  - LICENSE.txt
138
141
  - README.md
@@ -150,7 +153,7 @@ files:
150
153
  - lib/artisanal/model/initializer.rb
151
154
  - lib/artisanal/model/model.rb
152
155
  - lib/artisanal/model/version.rb
153
- homepage: https://github.com/goldstar/artisanal-model
156
+ homepage: https://github.com/stellarlive/artisanal-model
154
157
  licenses:
155
158
  - MIT
156
159
  metadata: {}
@@ -172,5 +175,5 @@ requirements: []
172
175
  rubygems_version: 3.0.3.1
173
176
  signing_key:
174
177
  specification_version: 4
175
- summary: A light attributes wrapper for dry-initializer
178
+ summary: A light attributes wrapper for dry-initializer.
176
179
  test_files: []