cog-rb 0.1.9 → 0.1.10

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: 67d0295a890954530cbac2c15df2fb4b5ee8bb85
4
- data.tar.gz: 053d44f20a2c1c663f3a19b9a006b7acc9f29415
3
+ metadata.gz: c483003f31da134986c41e6df9652376d87c6122
4
+ data.tar.gz: 0b2b8f28dc88324a64e17a2f58cb78581d8d8122
5
5
  SHA512:
6
- metadata.gz: 91186b497016b77271738d9e580d71fac6892530712f5104a1b5de4f9e90ae8efded243691a89f76e023aa21f6de3f8f36a39f42648f9f38fef7b93b941aae9c
7
- data.tar.gz: 0d841cf81083b7baaaaae54ccd9187f76fc370a6e0e523f9ed9d68005a2dd26484222f703460dd66d9b23414d3aa0b76d107a27b02bc8587072e46d33e8dfe24
6
+ metadata.gz: b0dbb6591fbaaf73e42a5819d17141c25495781070628dd86aa83a9f61d34f20927b9485e8efcfc8a8a3f2eb425b2749ab9e876bfb8c9d5cc1185bc360cfbe10
7
+ data.tar.gz: 41a471f281608c8075565f212f76988fcca892647201950ff2b25a8b436aec8a1aaee71310637caf209e82440af3713d8d1f928da7311d4605ea304d52ad7cb0
data/bin/cogrb ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rake'
4
+ require 'cog/config'
5
+
6
+ rake = Rake::Application.new
7
+ rake.init('cogrb')
8
+ Rake.application = rake
9
+
10
+ rake.standard_exception_handling do
11
+ task_dir = File.join(File.dirname(__FILE__), '..', 'lib', 'tasks')
12
+ task_files = FileList.new(File.join(task_dir, '*.rake'))
13
+ task_files.each { |file| rake.add_import(file) }
14
+ rake.load_imports
15
+ rake.top_level
16
+ end
data/cog-rb.gemspec CHANGED
@@ -14,8 +14,9 @@ Gem::Specification.new do |spec|
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
16
  spec.bindir = "bin"
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.executables = ["cogrb"]
18
18
  spec.require_paths = ["lib"]
19
19
 
20
+ spec.add_dependency "rake", "~> 11.2"
20
21
  spec.add_development_dependency "bundler", "~> 1.11"
21
22
  end
data/lib/cog/config.rb CHANGED
@@ -3,16 +3,49 @@ require "yaml"
3
3
 
4
4
  class Cog
5
5
  class Config
6
+ attr_reader :config_file, :data, :stale
7
+
6
8
  def initialize(config_file)
7
- @config = YAML.load(File.read(config_file))
9
+ @config_file = config_file
10
+ @data = YAML.load(File.read(@config_file))
11
+ @stale = false
8
12
  end
9
13
 
10
14
  def dump
11
- YAML.dump(@config)
15
+ YAML.dump(@data)
12
16
  end
13
17
 
14
18
  def [](key)
15
- @config[key.to_s]
19
+ @data[key.to_s]
20
+ end
21
+
22
+ def []=(key, value)
23
+ @data[key.to_s] = value
24
+ @stale = true
25
+ end
26
+
27
+ def update_version(version = nil)
28
+ if !version.nil?
29
+ @data[version] = version
30
+ else
31
+ segments = @data['version'].split('.')
32
+ segments[-1] = segments.last.to_i + 1
33
+ @data['version'] = segments.join('.')
34
+ end
35
+ end
36
+
37
+ def save
38
+ return unless @stale
39
+
40
+ contents = YAML.dump(@data)
41
+ File.open(@config_file, 'w') do |out|
42
+ out.write(contents)
43
+ @stale = false
44
+ end
45
+ end
46
+
47
+ def stale?
48
+ @stale
16
49
  end
17
50
  end
18
51
  end
data/lib/cog/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Cog
2
- VERSION = "0.1.9"
2
+ VERSION = "0.1.10"
3
3
  end
@@ -0,0 +1,35 @@
1
+ namespace :template do
2
+ desc "Update templates in configuration file"
3
+ task :update do
4
+ config_file = FileList.new('config.y?ml').first
5
+ config = Cog::Config.new(config_file)
6
+
7
+ puts "Current bundle configuration version is #{config['version']}."
8
+
9
+ templates = FileList.new('templates/*/*.mustache')
10
+ return if templates.nil? || templates.size == 0
11
+
12
+ config['templates'] ||= {}
13
+ templates.each do |file|
14
+ (provider, template) = file.split('/')[-2..-1]
15
+ template.gsub!(/\.mustache\z/, '')
16
+ template_content = File.read(file)
17
+
18
+ config['templates'][provider] ||= {}
19
+ prev_content = config['templates'][provider][template]
20
+
21
+ if template_content != prev_content
22
+ puts "Updating bundle configuration for template #{provider}/#{template}."
23
+ config['templates'][provider][template] = template_content
24
+ end
25
+ end
26
+
27
+ if config.stale?
28
+ config.update_version
29
+ puts "Writing new configuration file for version #{config['version']}."
30
+ config.save
31
+ else
32
+ puts "No updated templates found. Configuration not updated."
33
+ end
34
+ end
35
+ end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cog-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Imbriaco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-14 00:00:00.000000000 Z
11
+ date: 2016-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '11.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '11.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -28,8 +42,7 @@ description:
28
42
  email:
29
43
  - mark@operable.io
30
44
  executables:
31
- - console
32
- - setup
45
+ - cogrb
33
46
  extensions: []
34
47
  extra_rdoc_files: []
35
48
  files:
@@ -41,6 +54,7 @@ files:
41
54
  - LICENSE
42
55
  - README.md
43
56
  - Rakefile
57
+ - bin/cogrb
44
58
  - bin/console
45
59
  - bin/setup
46
60
  - cog-rb.gemspec
@@ -58,6 +72,7 @@ files:
58
72
  - lib/rspec/cog.rb
59
73
  - lib/rspec/cog/matchers.rb
60
74
  - lib/rspec/cog/setup.rb
75
+ - lib/tasks/cog.rake
61
76
  homepage: https://github.com/cog-bundles/cog-rb
62
77
  licenses: []
63
78
  metadata: {}