self_data 1.0.0 → 1.1.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 +5 -5
- data/.rubocop.yml +5 -15
- data/.travis.yml +22 -2
- data/Gemfile +3 -1
- data/Rakefile +2 -0
- data/bin/rubocop +29 -0
- data/lib/self_data/config.rb +5 -3
- data/lib/self_data/errors.rb +2 -0
- data/lib/self_data/version.rb +3 -1
- data/lib/self_data.rb +6 -4
- data/self_data.gemspec +12 -9
- metadata +24 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1201a0f6a585e439017884ffa5b3afec52eac0aa1a9a0087117e326d1b340a58
|
4
|
+
data.tar.gz: d31a28c60370483eb586ef7f727c7ce5dcaa9cd2dc1b944901727943c1335c88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cefd92d3033735314a03cede47baf2bf5c962b51eb7f5dcbec922dd4553f50b60e904bcda4e5f728a676f1f669a502b86962a7bf3dc8cc573d6bf4b2c7eb8820
|
7
|
+
data.tar.gz: 0f4197e8a3e5b1e268e14d7ce5f8e471fcd1889b932bb9e97a2bc8d420e1a6dd837a8e3078dd2251a8fe7694166c8a9ee71dabe49c6411ee7dbfdb338ecf747a
|
data/.rubocop.yml
CHANGED
@@ -1,16 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
Exclude:
|
4
|
-
- 'self_data.gemspec'
|
1
|
+
inherit_gem:
|
2
|
+
rubocop-config-umbrellio: lib/rubocop.yml
|
5
3
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
Style/StringLiterals:
|
10
|
-
Enabled: false
|
11
|
-
|
12
|
-
Style/MultilineOperationIndentation:
|
13
|
-
EnforcedStyle: indented
|
14
|
-
|
15
|
-
Style/AndOr:
|
16
|
-
EnforcedStyle: conditionals
|
4
|
+
AllCops:
|
5
|
+
DisplayCopNames: true
|
6
|
+
TargetRubyVersion: 2.5
|
data/.travis.yml
CHANGED
@@ -1,4 +1,24 @@
|
|
1
1
|
language: ruby
|
2
|
+
|
3
|
+
sudo: false
|
4
|
+
|
2
5
|
rvm:
|
3
|
-
- 2.
|
4
|
-
|
6
|
+
- 2.3
|
7
|
+
- 2.4
|
8
|
+
- 2.5
|
9
|
+
- ruby-head
|
10
|
+
|
11
|
+
before_install: gem install bundler
|
12
|
+
|
13
|
+
env: SUITE="rspec"
|
14
|
+
|
15
|
+
script: bundle exec $SUITE
|
16
|
+
|
17
|
+
matrix:
|
18
|
+
fast_finish: true
|
19
|
+
# Only run RuboCop on the latest Ruby
|
20
|
+
include:
|
21
|
+
- rvm: 2.5
|
22
|
+
env: SUITE="rubocop"
|
23
|
+
allow_failures:
|
24
|
+
- rvm: ruby-head
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/bin/rubocop
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rubocop' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("rubocop", "rubocop")
|
data/lib/self_data/config.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
SelfData.default_formats = [:erb, :yaml]
|
2
4
|
SelfData.default_options = {}
|
3
5
|
SelfData.filters = []
|
4
6
|
|
5
|
-
SelfData.add_converter :erb, ->(data, options) { ERB.new(data).result(options[:context]) }
|
6
|
-
SelfData.add_converter :yaml, ->(data, _options) { YAML.load(data) }
|
7
|
-
SelfData.add_converter :json, ->(data, _options) { JSON.parse(data) }
|
7
|
+
SelfData.add_converter :erb, -> (data, options) { ERB.new(data).result(options[:context]) }
|
8
|
+
SelfData.add_converter :yaml, -> (data, _options) { YAML.load(data) }
|
9
|
+
SelfData.add_converter :json, -> (data, _options) { JSON.parse(data) }
|
data/lib/self_data/errors.rb
CHANGED
data/lib/self_data/version.rb
CHANGED
data/lib/self_data.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "yaml"
|
2
4
|
require "json"
|
3
5
|
require "active_support/core_ext/module/delegation.rb"
|
@@ -30,7 +32,7 @@ class SelfData
|
|
30
32
|
options = default_options if options.empty?
|
31
33
|
|
32
34
|
formats.reduce(read) do |data, format|
|
33
|
-
|
35
|
+
raise ConverterNotFound, format unless converters[format]
|
34
36
|
begin
|
35
37
|
converters[format].call(data, options)
|
36
38
|
rescue => e
|
@@ -40,15 +42,15 @@ class SelfData
|
|
40
42
|
end
|
41
43
|
|
42
44
|
def read
|
43
|
-
IO.read(file).scan(/\n__END__\n(.*)/m).flatten.first or
|
45
|
+
IO.read(file).scan(/\n__END__\n(.*)/m).flatten.first or raise NoDataFound, file
|
44
46
|
end
|
45
47
|
|
46
48
|
private
|
47
49
|
|
48
50
|
def caller_file
|
49
51
|
calls = caller.lazy
|
50
|
-
.map { |call_string| call_string.split(
|
51
|
-
.
|
52
|
+
.map { |call_string| call_string.split(":").first }
|
53
|
+
.reject { |file| file == __FILE__ }
|
52
54
|
.select(&File.method(:exist?))
|
53
55
|
|
54
56
|
filters.each do |filter|
|
data/self_data.gemspec
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
5
|
+
require "self_data/version"
|
6
|
+
|
7
|
+
files_regexp = %r{^(test|spec|features)/}
|
5
8
|
|
6
9
|
Gem::Specification.new do |spec|
|
7
10
|
spec.name = "self_data"
|
@@ -12,18 +15,18 @@ Gem::Specification.new do |spec|
|
|
12
15
|
spec.summary = ""
|
13
16
|
spec.description = "It's like DATA but better"
|
14
17
|
spec.homepage = "https://github.com/umbrellio/self_data"
|
15
|
-
spec.license =
|
18
|
+
spec.license = "MIT"
|
16
19
|
|
17
|
-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(
|
20
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(files_regexp) }
|
18
21
|
spec.bindir = "exe"
|
19
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
23
|
spec.require_paths = ["lib"]
|
21
24
|
|
22
25
|
spec.add_runtime_dependency "activesupport", ">= 3.0"
|
23
26
|
|
24
|
-
spec.add_development_dependency "bundler"
|
25
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
-
spec.add_development_dependency "rspec", "~> 3.4"
|
27
|
-
spec.add_development_dependency "rubocop", "~> 0.35"
|
27
|
+
spec.add_development_dependency "bundler"
|
28
28
|
spec.add_development_dependency "pry"
|
29
|
+
spec.add_development_dependency "rake"
|
30
|
+
spec.add_development_dependency "rspec"
|
31
|
+
spec.add_development_dependency "rubocop-config-umbrellio"
|
29
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: self_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Umbrellio
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -28,60 +28,60 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rubocop-config-umbrellio
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -111,6 +111,7 @@ files:
|
|
111
111
|
- Rakefile
|
112
112
|
- bin/console
|
113
113
|
- bin/rspec
|
114
|
+
- bin/rubocop
|
114
115
|
- bin/setup
|
115
116
|
- lib/self_data.rb
|
116
117
|
- lib/self_data/config.rb
|
@@ -137,9 +138,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
138
|
version: '0'
|
138
139
|
requirements: []
|
139
140
|
rubyforge_project:
|
140
|
-
rubygems_version: 2.
|
141
|
+
rubygems_version: 2.7.6
|
141
142
|
signing_key:
|
142
143
|
specification_version: 4
|
143
144
|
summary: ''
|
144
145
|
test_files: []
|
145
|
-
has_rdoc:
|