grouik 1.0.0 → 1.0.1
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 +4 -4
- data/src/lib/grouik/concerns/helpable.rb +2 -0
- data/src/lib/grouik/concerns/versionable.rb +50 -0
- data/src/lib/grouik/concerns.rb +1 -1
- data/src/lib/grouik/version_info.yml +2 -2
- data/src/lib/grouik.rb +6 -32
- metadata +32 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8591d30514eae9395e3fc92230ffed4c01c8696a
|
4
|
+
data.tar.gz: f6abf9aaaf46b3d1dc3fa23ecea345dcbbb52cc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32ad07f33b7d13d07b8cbecab377fa636c14e82251e295e2c06ead871848c69bd20bdca67330092890a3669c7d3d86342bdd3b2e6972e505b7c412a2cdc7a794
|
7
|
+
data.tar.gz: c68541acdcbd090c42a024bb91face5b137586284fb2c838ece87bfc5dfec371c24d25a9a14464e714f5e8ba33087e2b79fb22ff41a35a5c8bddd1c53553bb7c
|
@@ -6,6 +6,8 @@
|
|
6
6
|
# This is free software: you are free to change and redistribute it.
|
7
7
|
# There is NO WARRANTY, to the extent permitted by law.
|
8
8
|
|
9
|
+
require 'active_support/concern'
|
10
|
+
|
9
11
|
# Provide ``helpers`` method
|
10
12
|
module Grouik::Concerns::Helpable
|
11
13
|
extend ActiveSupport::Concern
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright (C) 2017 Dimitri Arrigoni <dimitri@arrigoni.me>
|
4
|
+
# License GPLv3+: GNU GPL version 3 or later
|
5
|
+
# <http://www.gnu.org/licenses/gpl.html>.
|
6
|
+
# This is free software: you are free to change and redistribute it.
|
7
|
+
# There is NO WARRANTY, to the extent permitted by law.
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
require 'active_support/concern'
|
11
|
+
require 'active_support/inflector'
|
12
|
+
require 'version_info'
|
13
|
+
|
14
|
+
# Provides a standardized way to use ``VersionInfo``
|
15
|
+
#
|
16
|
+
# Define ``VERSION_PATH_LEVELS`` in order to suit your needs
|
17
|
+
module Grouik::Concerns::Versionable
|
18
|
+
extend ActiveSupport::Concern
|
19
|
+
|
20
|
+
included do
|
21
|
+
VERSION_PATH_LEVELS = 2 unless const_defined?(:VERSION_PATH_LEVELS)
|
22
|
+
version_info
|
23
|
+
end
|
24
|
+
|
25
|
+
module ClassMethods
|
26
|
+
def version_info
|
27
|
+
unless const_defined?(:VERSION)
|
28
|
+
include VersionInfo
|
29
|
+
|
30
|
+
VersionInfo.file_format = :yaml
|
31
|
+
self.VERSION.file_name = version_filepath
|
32
|
+
self.VERSION.load
|
33
|
+
end
|
34
|
+
|
35
|
+
self.VERSION.to_hash.freeze
|
36
|
+
end
|
37
|
+
|
38
|
+
protected
|
39
|
+
|
40
|
+
# Get path to the ``version`` file
|
41
|
+
#
|
42
|
+
# @return [Pathname]
|
43
|
+
def version_filepath
|
44
|
+
name = ActiveSupport::Inflector.underscore(self.name)
|
45
|
+
dirs = ['..'] * self::VERSION_PATH_LEVELS
|
46
|
+
|
47
|
+
Pathname.new(__dir__).join(*(dirs + [name, 'version_info.yml'])).realpath
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/src/lib/grouik/concerns.rb
CHANGED
data/src/lib/grouik.rb
CHANGED
@@ -8,10 +8,10 @@
|
|
8
8
|
|
9
9
|
require 'pathname'
|
10
10
|
require 'active_support/inflector'
|
11
|
-
require 'version_info'
|
12
11
|
|
13
12
|
$LOAD_PATH.unshift Pathname.new(__dir__)
|
14
13
|
|
14
|
+
|
15
15
|
# Produce a ``require`` file, resolving classes dependencies
|
16
16
|
#
|
17
17
|
# Sample of use:
|
@@ -30,41 +30,15 @@ $LOAD_PATH.unshift Pathname.new(__dir__)
|
|
30
30
|
#
|
31
31
|
# or using command line.
|
32
32
|
module Grouik
|
33
|
-
require 'grouik/helpers'
|
34
|
-
|
35
|
-
class << self
|
36
|
-
# @return [Hash]
|
37
|
-
def version_info
|
38
|
-
unless self.const_defined?(:VERSION)
|
39
|
-
include VersionInfo
|
40
|
-
|
41
|
-
VersionInfo.file_format = :yaml
|
42
|
-
VERSION.file_name = self.version_filepath
|
43
|
-
VERSION.load
|
44
|
-
end
|
45
|
-
|
46
|
-
VERSION.to_hash.freeze
|
47
|
-
end
|
48
|
-
|
49
|
-
protected
|
50
|
-
|
51
|
-
# Get path to the ``version`` file
|
52
|
-
#
|
53
|
-
# @return [Pathname]
|
54
|
-
def version_filepath
|
55
|
-
name = ActiveSupport::Inflector.underscore(self.name)
|
56
|
-
|
57
|
-
Pathname.new(__dir__).join(name, 'version_info.yml')
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
# registers version_info
|
62
|
-
self.version_info
|
63
33
|
# loads sub(modules|classes)
|
64
|
-
[:
|
34
|
+
[:helpers, :concerns,
|
35
|
+
:loader, :loadable,
|
36
|
+
:formatter, :process, :output].each do |r|
|
65
37
|
require '%s/%s' % [ActiveSupport::Inflector.underscore(name), r]
|
66
38
|
end
|
67
39
|
|
40
|
+
include Concerns::Versionable
|
41
|
+
|
68
42
|
@components = {
|
69
43
|
process_class: Process,
|
70
44
|
formatter: Formatter,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grouik
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dimitri Arrigoni
|
8
8
|
autorequire:
|
9
9
|
bindir: src/bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '11.3'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.10'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.10'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: dotenv
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.2'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '2.2'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: cliver
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,6 +204,7 @@ files:
|
|
176
204
|
- src/lib/grouik/cli.rb
|
177
205
|
- src/lib/grouik/concerns.rb
|
178
206
|
- src/lib/grouik/concerns/helpable.rb
|
207
|
+
- src/lib/grouik/concerns/versionable.rb
|
179
208
|
- src/lib/grouik/formatter.rb
|
180
209
|
- src/lib/grouik/helpers.rb
|
181
210
|
- src/lib/grouik/helpers/cli.rb
|
@@ -201,7 +230,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
201
230
|
requirements:
|
202
231
|
- - ">="
|
203
232
|
- !ruby/object:Gem::Version
|
204
|
-
version:
|
233
|
+
version: 2.2.2
|
205
234
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
206
235
|
requirements:
|
207
236
|
- - ">="
|