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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 83f25d1bc75415d52ac220b352808fc496eedbf1
4
- data.tar.gz: 8315a3d896b9556d0b716a27855c8d2fd87c0ab8
3
+ metadata.gz: 8591d30514eae9395e3fc92230ffed4c01c8696a
4
+ data.tar.gz: f6abf9aaaf46b3d1dc3fa23ecea345dcbbb52cc9
5
5
  SHA512:
6
- metadata.gz: b775cb7d82ec784f43d903ad6a36a98daa7de4db8ff343a83833cda9baff530c72d2a73639e51dd95dafa864f40e0033d603da89b10566ac60e1a95df7a60b2c
7
- data.tar.gz: cc9ceee6b5db5d7c98083ccfe7fb954f61f70a73a4a81d1e706402c9a9caa44ec5df9d3b5d4f292c84e5a821d7e16c6840d8f4a55e789ed5acc9dcb16d6b03fe
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
@@ -10,7 +10,7 @@
10
10
  module Grouik::Concerns
11
11
  require 'active_support/concern'
12
12
 
13
- [:helpable].each do |concern|
13
+ [:helpable, :versionable].each do |concern|
14
14
  require 'grouik/concerns/%s' % concern
15
15
  end
16
16
  end
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  major: 1
3
3
  minor: 0
4
- patch: 0
4
+ patch: 1
5
5
  authors: ['Dimitri Arrigoni']
6
6
  email: 'dimitri@arrigoni.me'
7
- date: '2017-03-28'
7
+ date: '2017-04-04'
8
8
  summary: 'Grouik!'
9
9
  description: 'Simple require file generator'
10
10
  licenses: ['GPL-3.0']
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
- [:loader, :loadable, :formatter, :process, :output].each do |r|
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.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-03-28 00:00:00.000000000 Z
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: '0'
233
+ version: 2.2.2
205
234
  required_rubygems_version: !ruby/object:Gem::Requirement
206
235
  requirements:
207
236
  - - ">="