twigg 0.0.4 → 0.0.5

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: 282331adcc35a06bb23a3691d527af21569d18f4
4
- data.tar.gz: 786b7007f4e5a6391eb8bb16b3bc28f9a7a03ff4
3
+ metadata.gz: d252679318595d7e0f491345e2b8a0f68a9c1c83
4
+ data.tar.gz: 71bf48671bc273d38d569ca177f58acf90af1a25
5
5
  SHA512:
6
- metadata.gz: 994087ede63df1cff19699ea8da0690ef4ad5f7fc7f939cf022a31ab5673cba565db42904483a68594e03bd8585adf8c518fba8e4c8573c7735a5128dc092f59
7
- data.tar.gz: d79c58a57e7dcad78881604de48505e144423096434c714bfcb626418b07fd5c3cbd5a7991ba05983335ee2b59408b70514a6690ba623f331b1a347e41872839
6
+ metadata.gz: 8c183abd46281d5fd52c437c19be7590a82a277c3fddbca13d9dc15b1b2d7e07c8c7b9f5fd0df8a8c633af75db4fb7d260540c44e6ce8559b17982c983b8e122
7
+ data.tar.gz: 1288c390bb8d514a068cbaa432e3c4ab608e7cdb66436771ecff04c1fbb6a7df983d95bd109c546c1f2322029f795fdc917600b2b5178f4570bbc975bfa68bb5
data/lib/twigg.rb CHANGED
@@ -28,3 +28,5 @@ module Twigg
28
28
  Pathname.new(__dir__) + '..'
29
29
  end
30
30
  end
31
+
32
+ Twigg::Config.boot
data/lib/twigg/command.rb CHANGED
@@ -91,8 +91,9 @@ module Twigg
91
91
  def_delegators 'self.class', :ignore
92
92
 
93
93
  def initialize(*args)
94
- Config.config # ensure `-c`/`--config` option is applied
95
- consume_option(%w[-c --config], args) # ensure consumed
94
+ # the -c/--config option is applied immediately on load (see
95
+ # twigg/lib/twigg.rb); ensure it gets consumed
96
+ consume_option(%w[-c --config], args)
96
97
 
97
98
  @debug = true if args.delete('-d') || args.delete('--debug')
98
99
  @verbose = true if args.delete('-v') || args.delete('--verbose')
data/lib/twigg/config.rb CHANGED
@@ -31,8 +31,24 @@ module Twigg
31
31
  extend Forwardable
32
32
  def_delegators :config, :method_missing
33
33
 
34
+ # Perform boot-time configuration
35
+ def boot
36
+ config # ensure `-c`/`--config` option is respected
37
+ set_up_encoding
38
+ end
39
+
34
40
  private
35
41
 
42
+ # Make sure we have a sane default encoding for reading across process
43
+ # boundaries (eg. consuming APIs, reading from `git` commands etc).
44
+ def set_up_encoding
45
+ encoding = Encoding.find(config.default_encoding)
46
+ Encoding.default_external = encoding
47
+ Encoding.default_internal = encoding
48
+ rescue ArgumentError => e
49
+ Console.warn "desired default encoding not available (#{e})"
50
+ end
51
+
36
52
  # Maintain a "singleton" Config instance for convenient access.
37
53
  def config
38
54
  @config ||= new
data/lib/twigg/console.rb CHANGED
@@ -66,4 +66,5 @@ module Twigg
66
66
  end
67
67
 
68
68
  Console.public_class_method :die
69
+ Console.public_class_method :warn
69
70
  end
data/lib/twigg/repo.rb CHANGED
@@ -75,7 +75,7 @@ module Twigg
75
75
  IO.popen([{ 'GIT_DIR' => git_dir },
76
76
  'git', command, *args, *STDERR_TO_STDOUT], 'r') do |io|
77
77
  io.read
78
- end.force_encoding('UTF-8')
78
+ end
79
79
  end
80
80
 
81
81
  def log(*args)
@@ -43,6 +43,7 @@ module Twigg
43
43
  end
44
44
 
45
45
  setting :default_days, default: 7
46
+ setting :default_encoding, default: 'UTF-8'
46
47
 
47
48
  namespace :gerrit do
48
49
  setting :host, default: 'localhost'
data/lib/twigg/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Twigg
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -24,6 +24,8 @@ cache:
24
24
  port: 11211 # default
25
25
  value_max_bytes: 4194304
26
26
 
27
+ default_encoding: UTF-8 # default
28
+
27
29
  gerrit:
28
30
  user: jimmy
29
31
  port: 29418 # default
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twigg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Causes Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-11 00:00:00.000000000 Z
11
+ date: 2013-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler