grouik 1.0.0 → 1.0.1

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
  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
  - - ">="