middleman-build-info 0.0.1 → 0.0.2

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: 54f8f1bc504aeda5b8adb6a5e35f9e79f7bce90e
4
- data.tar.gz: ff95c2e46a6709e966ece79c6da8a13194c63d9d
3
+ metadata.gz: 204c1390aaf48986fa9c98eb701d465087dfc2da
4
+ data.tar.gz: 35d0eb86544dc888295ae9d1ecb57910e44b4683
5
5
  SHA512:
6
- metadata.gz: 92656c17807b835913650bff48e62d04a64b606223bec213cb56507971c1525dd0d785ce306532bef6d87bce334ea72b247e7ed7ee793c6de884ed9f3c0a97a4
7
- data.tar.gz: e272dd34a2047424c676ed567925eea8887b6c8b57b65715c6e05e1559283f397d5b80b9aa89d9d9372b78aa04170455581a72ef28979fea408621bafa572b3e
6
+ metadata.gz: f4df0985196ab46670b2af23b4454040ecfa1de741e024df099845a1f9539d45d56d8a11046d8a8a11942f7fe006352587cd2e27b1d331d85b9353bdb6b577c9
7
+ data.tar.gz: 81bd58be52f3ae5e3c93dfc3854673df7fae529299c15c5e6129f08e668c5d06b0f3c14aabcb3273efcb22ed268518d07e9f27a8b76cdf7bf209022a97834b61
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ 0.0.2
4
+ =====
5
+ * Fixed `relative_path` setting default to point to MM root.
6
+ * Added `display_info_after_build` setting.
7
+ * Added `build_info` helper.
8
+
3
9
  0.0.1
4
10
  =====
5
- * Initial release
11
+ * Initial release.
data/README.md CHANGED
@@ -6,6 +6,8 @@ Once the extension is activated It will run and update the build file every time
6
6
 
7
7
  ![IMAGE]
8
8
 
9
+ [![Gem Version](https://badge.fury.io/rb/middleman-build-info.png)](http://badge.fury.io/rb/middleman-build-info) [![Code Climate](https://codeclimate.com/github/mcavallo/middleman-build-info.png)](https://codeclimate.com/github/mcavallo/middleman-build-info)
10
+
9
11
  ## Dependencies
10
12
 
11
13
  * middleman-core (3.3+)
@@ -14,7 +16,7 @@ Once the extension is activated It will run and update the build file every time
14
16
  Add to your `Gemfile` and then run `bundle install`:
15
17
 
16
18
  ```ruby
17
- gem "middleman-build-info", :git => 'https://github.com/mcavallo/middleman-build-info.git'
19
+ gem 'middleman-build-info'
18
20
  ```
19
21
 
20
22
  Then activate the extension in your `config.rb` file:
@@ -4,8 +4,8 @@ module Middleman
4
4
  class BuildInfoExtension < Extension
5
5
 
6
6
  option :filename, 'build.json', 'Build filename.'
7
- option :relative_path, 'source', 'Relative path to build file from MM root.'
8
- option :debug, true, ''
7
+ option :relative_path, '', 'Relative path to build file from MM root.'
8
+ option :display_info_after_build, true, 'Print build info after a successful build.'
9
9
 
10
10
  def initialize(app, options_hash={}, &block)
11
11
  super
@@ -16,12 +16,19 @@ module Middleman
16
16
  end
17
17
 
18
18
  def before_build(builder)
19
- @updater.update_build_info(builder)
19
+ @updater.update_build_info(builder)
20
20
  end
21
21
 
22
22
  def after_build
23
23
  @updater.wrap_up
24
24
  end
25
25
 
26
+ helpers do
27
+ def build_info(key=nil)
28
+ return config[:build_info] if key.nil?
29
+ config[:build_info][key.to_sym] || nil
30
+ end
31
+ end
32
+
26
33
  end
27
34
  end
@@ -2,4 +2,21 @@ class String
2
2
  def without_leading_slash
3
3
  self.gsub(/^\//,'')
4
4
  end
5
+ end
6
+
7
+ class Hash
8
+ def symbolize_keys
9
+ self.inject({}) do |result, (key, value)|
10
+ new_key = case key
11
+ when String then key.to_sym
12
+ else key
13
+ end
14
+ new_value = case value
15
+ when Hash then symbolize_keys(value)
16
+ else value
17
+ end
18
+ result[new_key] = new_value
19
+ result
20
+ end
21
+ end
5
22
  end
@@ -10,11 +10,13 @@ module Middleman
10
10
  @options = options
11
11
  @file = File.join(@app.root_path, @options[:relative_path], @options[:filename])
12
12
  @file_relative = File.join(@options[:relative_path], @options[:filename]).without_leading_slash
13
+
14
+ @backup = read_info_file
15
+ app.set :build_info, @backup
13
16
  end
14
17
 
15
18
  def update_build_info(builder)
16
19
  @builder = builder
17
- @backup = read_info_file
18
20
  @new_info = get_updated_info(@backup)
19
21
  write_info_file(@new_info) do
20
22
  @builder.say_status('update', @file_relative, :yellow)
@@ -39,14 +41,14 @@ module Middleman
39
41
  end
40
42
 
41
43
  def read_info_file
42
- JSON.parse(File.read(@file))
44
+ JSON.parse(File.read(@file)).symbolize_keys
43
45
  rescue Errno::ENOENT, JSON::ParserError
44
46
  default_template
45
47
  end
46
48
 
47
49
  def get_updated_info(info)
48
- info["number"] = info["number"].to_i + 1
49
- info["date"] = Time.now.utc.to_s
50
+ info[:number] = info[:number].to_i + 1
51
+ info[:date] = Time.now.utc.to_s
50
52
  info
51
53
  end
52
54
 
@@ -55,9 +57,10 @@ module Middleman
55
57
  end
56
58
 
57
59
  def print_build_info(info)
60
+ return unless @options[:display_info_after_build]
58
61
  @builder.say("\n Build Info:")
59
62
  info.each_pair do |name, value|
60
- @builder.say_status(name, value, :green)
63
+ @builder.say_status(name.to_s, value, :green)
61
64
  end
62
65
  end
63
66
 
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module BuildInfo
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-build-info
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mariano Cavallo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-24 00:00:00.000000000 Z
11
+ date: 2014-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: middleman-core