pears 0.1.0 → 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: d2510f31390a179bf14867d8e75bda9c8d0d9a357bc1973235f1ca953abb3c24
4
- data.tar.gz: 40791c5e0131d8cd2506cac7f100795fd5795f60528b0c03fc0c9d8e1436ba89
3
+ metadata.gz: 576ee9ad4705f36e9dcbccd59c7905f17e4b0acd1774597c3e9bb131f8f14027
4
+ data.tar.gz: eee99597b7909aa5bc35a7b9852e5b6a1251db4c425fb0ea9d2eeb0c86f4e408
5
5
  SHA512:
6
- metadata.gz: 30b38f15dc65fa7a75bfe2e8fb2825bebecebfcea6bc511f2619b3bdf32d03f7ab938f6f2639fe1f897e8a55b4388bb8bc4bf9d1446c4c9c60951626d2be0548
7
- data.tar.gz: cae8f1f49edba58a4f3f41b976524bf8dc9d46982528474d209c1db1a8f83d84171520b68031c433fa9ffb57c43c51cfd143fd4b4b463bd062b07c08489e0bb8
6
+ metadata.gz: af3f76aeeae69b0ca9fb7c53e81f008d443069b092cafbf5c0637a306b4c637c879b93289d2ddb57f4875e4e0cd6de3e643228df422e4eb40a3f406229395b61
7
+ data.tar.gz: 85f198de8136d0bf3ef42b4603cebbdce1a42cc7d5d80b6347d2372958b2011f99a3cf984ffef1d4ffefec2f5bbfc4a4c412e7223af769c823e05f23c61e2a0e
data/Gemfile CHANGED
@@ -9,3 +9,4 @@ gem "rake", "~> 13.0"
9
9
 
10
10
  gem "rspec", "~> 3.0"
11
11
 
12
+ gem "rspec-collection_matchers"
data/Gemfile.lock CHANGED
@@ -32,6 +32,8 @@ GEM
32
32
  rspec-core (~> 3.10.0)
33
33
  rspec-expectations (~> 3.10.0)
34
34
  rspec-mocks (~> 3.10.0)
35
+ rspec-collection_matchers (1.2.0)
36
+ rspec-expectations (>= 2.99.0.beta1)
35
37
  rspec-core (3.10.1)
36
38
  rspec-support (~> 3.10.0)
37
39
  rspec-expectations (3.10.1)
@@ -54,6 +56,7 @@ DEPENDENCIES
54
56
  pears!
55
57
  rake (~> 13.0)
56
58
  rspec (~> 3.0)
59
+ rspec-collection_matchers
57
60
 
58
61
  BUNDLED WITH
59
62
  2.3.5
@@ -21,9 +21,13 @@ module Pears
21
21
 
22
22
  private
23
23
 
24
- def parse_yaml(yaml_data)
25
- yaml_data = YAML.load(yaml_data)
26
- raise Pears::InvalidProviderData if yaml_data.is_a? String
24
+ def parse_yaml(yaml_string)
25
+ yaml_data = YAML.load(yaml_string)
26
+
27
+ unless yaml_data.respond_to? :with_indifferent_access
28
+ raise Pears::InvalidProviderData
29
+ end
30
+
27
31
  yaml_data.with_indifferent_access
28
32
  rescue Psych::SyntaxError => e
29
33
  logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
data/lib/pears/subject.rb CHANGED
@@ -5,6 +5,7 @@ module Pears
5
5
  # You could different Pears::Subjects in your application for different parts
6
6
  # of its domain. for instance: application_settings, theming or translations.
7
7
  class Subject
8
+ include Enumerable
8
9
  attr_reader :name
9
10
 
10
11
  def initialize(name, *layers)
@@ -40,6 +41,10 @@ module Pears
40
41
  end.with_indifferent_access
41
42
  end
42
43
 
44
+ def each(&block)
45
+ project.each(&block)
46
+ end
47
+
43
48
  private
44
49
 
45
50
  def layers
data/lib/pears/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pears
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.3"
5
5
  end
data/lib/pears.rb CHANGED
@@ -16,9 +16,10 @@ module Pears
16
16
 
17
17
  # This is the main way of locating a subject.
18
18
  def self.subject(name)
19
+ subjects
19
20
  Subject.new(name).tap do |subject|
20
21
  builder = Provider::Builder.new(subject)
21
- yield(builder)
22
+ @subjects << yield(builder)
22
23
  end
23
24
  end
24
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pears
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Kemp
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-09 00:00:00.000000000 Z
11
+ date: 2022-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable