pears 0.0.11 → 0.1.2

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: 4c6502111e3ee33f8bbd0ab96660fe6b253e3186d0ad4f03cdff722144b752ce
4
- data.tar.gz: bd4d33b9b351513ee30de709518110b767b2b7572078ec4ba7977244b87bd026
3
+ metadata.gz: 3e5f72a743be10db15756a0223ec43b75ca764aeeec8271999359324b8df5556
4
+ data.tar.gz: ec6603a5cace923b98ea1f80f8f4876c94d94118f4cd6975f63eae3e75fb5991
5
5
  SHA512:
6
- metadata.gz: 535466cd702983f03c67d55fd56452a5ffb13d3d61829d6926aff28ef2e3f65bcabbfa98a415dcb493b3e23533ad90bffc92914d0dd8f6b5d36b668659270444
7
- data.tar.gz: b408414d09c6d915232001173aaaf765ead2973ebe5d84e668d3d0831e3ec1cb6fdac575c2cba8d0212f125b81b87c3bfce850290202113f054bf442e97300af
6
+ metadata.gz: 7f78200980505f2f354d87890f02b4ab094e36c1da304c387b8352595a7a9f2e9e74f145f1bc8da3c320f37f56a764c43068a75c6cd6b6e42511d4804acccf66
7
+ data.tar.gz: 60259e0a407ff67e0a3301825de82fb45b3f87a6afd08d9e5c2de34743bbe092e3e86a38bd50b99c6cae9ae81e4aab96d9951f21f7091d17febc3fb17ae14387
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pears (0.0.8)
4
+ pears (0.0.11)
5
5
  activesupport
6
6
  dry-configurable (>= 0.13.0)
7
7
  redis
@@ -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
- 2.2.31
62
+ 2.3.5
@@ -23,8 +23,12 @@ module Pears
23
23
 
24
24
  def parse_yaml(yaml_data)
25
25
  yaml_data = YAML.load(yaml_data)
26
- raise Pears::InvalidProviderData if yaml_data.is_a? String
26
+ raise Pears::InvalidProviderData unless yaml_data.is_a? Hash
27
27
  yaml_data.with_indifferent_access
28
+ rescue Psych::SyntaxError => e
29
+ logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
30
+ logger.warn "#{e.class} #{e.message}"
31
+ raise Pears::InvalidProviderData
28
32
  end
29
33
  end
30
34
  end
@@ -8,7 +8,8 @@ module Pears
8
8
  def initialize(file_path, on_failure: :raise)
9
9
  yaml_data = File.read(file_path)
10
10
  @data = parse_yaml(yaml_data)
11
- rescue Errno::ENOENT => error
11
+ rescue Errno::ENOENT,
12
+ Pears::InvalidProviderData => error
12
13
  if on_failure == :null
13
14
  @data = {}
14
15
  else
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.0.11"
4
+ VERSION = "0.1.2"
5
5
  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.0.11
4
+ version: 0.1.2
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-01-20 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