yml_record 0.1.2 → 0.1.3

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: dc9a3a6378dcf9c0065cd690c970165e47b0366109bf3f5630ccc7a3edfa6589
4
- data.tar.gz: 4e5f4eee77f815ce2d35e44d832dbe3fa73509650da6d0001d72d663ca58ade6
3
+ metadata.gz: 2fca9dae5bf10baf7aa88ebc253304b24b91f29b144fc0797883cb257436d694
4
+ data.tar.gz: 7c0104c4d01ae2f4ec5c00b0c58fd9cdca6d686f925600cf494e4a540a08b2e4
5
5
  SHA512:
6
- metadata.gz: ab80c24471394a090dd7d899ce6322a99ac0176ce8925ccab7cd5c82a3b0f1e3c7783b91fa9c77476e50b61183e8e509bfdb7c9363d149971a04832bbb7d3398
7
- data.tar.gz: 21b4426dbceec8a10fa1de4b4b9d5e26a80b9692990ba0985ec46d4df70ff3f7a7fb14d1317e88fcb0c53e0fe709086827cb1f9ab47e1e235546b4f2287bb82c
6
+ metadata.gz: '097bd7048303e136a95d7131c16c993f4a64dec847dca3a1a85fc8b30ab4a754f607758920905f4c94f3a045d7c70c881ade6b734076a6c31cc1600dd162c88b'
7
+ data.tar.gz: b437e63384dd038a4b8a760b5a59189a9eec1ae61affc809dd6b6a95c2477ff90b8dc5995d9621110ea4f4f4b490ebb6f8cf3fd12ad6fd4c82556e619cc6f046
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- yml_record (0.1.1)
4
+ yml_record (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -31,4 +31,4 @@ DEPENDENCIES
31
31
  yml_record!
32
32
 
33
33
  BUNDLED WITH
34
- 2.1.2
34
+ 2.1.4
@@ -1,6 +1,24 @@
1
+ require 'yml_record/helpers/delegate_missing_to.rb'
1
2
  require 'ostruct'
2
3
 
3
4
  module YmlRecord
4
5
  # class to hold attributes, just hold and return for now
5
- class Attributes < OpenStruct; end
6
+ class Attributes
7
+ extend DelegateMissingTo
8
+ delegate_missing_to :store
9
+
10
+ def initialize(**opts)
11
+ new_opts = opts.each_with_object({}) do |(key, value), acc|
12
+ if [true, false].include?(value) && !key.to_s.end_with?('?')
13
+ acc["#{key}?"] = value
14
+ end
15
+ acc[key] = value
16
+ end
17
+ @store = OpenStruct.new(**new_opts)
18
+ end
19
+
20
+ private
21
+
22
+ attr_reader :store
23
+ end
6
24
  end
@@ -29,9 +29,7 @@ module YmlRecord
29
29
  protected
30
30
 
31
31
  def boolean_columns(*keys)
32
- keys.each do |key|
33
- define_method("#{key}?") { send(key) }
34
- end
32
+ raise NotImplementedError, 'this method is no longer necessary, data with a boolean value automatically generates a `?` getter'
35
33
  end
36
34
 
37
35
  private
@@ -1,3 +1,3 @@
1
1
  module YmlRecord
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
data/yml_record.gemspec CHANGED
@@ -11,12 +11,12 @@ Gem::Specification.new do |spec|
11
11
  spec.homepage = "https://rubygems.org/gems/yml_record"
12
12
  spec.license = "MIT"
13
13
  spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
14
+ spec.metadata["source_code_uri"] = "https://github.com/tjbarker/yml_record#readme"
14
15
 
15
16
  # TODO: do later cause I CBF now
16
17
  # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
17
18
 
18
19
  # spec.metadata["homepage_uri"] = spec.homepage
19
- # spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
20
20
  # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
21
21
 
22
22
  # Specify which files should be added to the gem when it is released.
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
25
25
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
26
  end
27
+
27
28
  spec.bindir = "exe"
28
29
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
30
  spec.require_paths = ["lib"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yml_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Barker
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-19 00:00:00.000000000 Z
11
+ date: 2022-03-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A gem for presenting ActiveRecord like interface for yml backed models
14
14
  email:
@@ -43,7 +43,8 @@ files:
43
43
  homepage: https://rubygems.org/gems/yml_record
44
44
  licenses:
45
45
  - MIT
46
- metadata: {}
46
+ metadata:
47
+ source_code_uri: https://github.com/tjbarker/yml_record#readme
47
48
  post_install_message:
48
49
  rdoc_options: []
49
50
  require_paths:
@@ -59,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
62
  requirements: []
62
- rubygems_version: 3.1.6
63
+ rubygems_version: 3.1.2
63
64
  signing_key:
64
65
  specification_version: 4
65
66
  summary: A gem for presenting ActiveRecord like interface for yml backed models