fog-core 1.27.3 → 1.27.4

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: 05926065513096bbd243c048472185d94fff85dc
4
- data.tar.gz: 07586ba0a3850cb661496316589f8e691bd38972
3
+ metadata.gz: e822a212a0601171bf7a7d5f61f5bc46211c66b7
4
+ data.tar.gz: 6abeed4e74994de0b27874fa1beefe93ff8c8fa3
5
5
  SHA512:
6
- metadata.gz: b3c1803c12f6e915226ec157457d769ede0c28debdd5ce9651a253f662d6b651df268ff8748a3070e6836fa3cd84badfb805fd4b9aea0fc3a3ad0065f51544d2
7
- data.tar.gz: 29295752f87c18ae39bed3385f9976ff3140106d6446d339c370c3015bad8f4b13dec7cdb0d1a7b76cde270459d68be2e3a09d60e7d744dbcb0b0a2b9327799d
6
+ metadata.gz: c475dd52859470ac196901f374efab07bc3f7171b43fdc326ca0f637915c3e689dc7f85bf0720c6c6728d00dbcf76e88780494e70f5ca780c8963cb7ff37c85e
7
+ data.tar.gz: 47e064f9eabc07c9d8f8ef459456f4116745bba31dface8629b18ae64ff34618a96c911b798361904ecbbfaf5dd36b6dfc10e6e9153b45eb5e25dd7a4ffe6247
@@ -1,4 +1,10 @@
1
- 1.27.3 12/01/2012
1
+ 1.27.4 01/26/2012
2
+ ==========================================================
3
+
4
+ model fix for new formatador usage
5
+ fixes around formatador delegation
6
+
7
+ 1.27.3 12/01/2012
2
8
  ==========================================================
3
9
 
4
10
  rubocop fixes for fog collection
@@ -70,7 +70,7 @@ module Fog
70
70
  end
71
71
 
72
72
  def inspect
73
- Fog::Formatador.new(self)
73
+ Fog::Formatador.format(self)
74
74
  end
75
75
 
76
76
  def load(objects)
@@ -100,7 +100,7 @@ module Fog
100
100
  end
101
101
 
102
102
  def table(attributes = nil)
103
- Formatador.display_table(map(&:attributes), attributes)
103
+ Fog::Formatador.display_table(map(&:attributes), attributes)
104
104
  end
105
105
 
106
106
  def to_json(_options = {})
@@ -31,9 +31,9 @@ module Fog
31
31
  channel = @channels[key]
32
32
  if channel
33
33
  message = if channel.tty?
34
- value.gsub(::Formatador::PARSE_REGEX) { "\e[#{::Formatador::STYLES[$1.to_sym]}m" }.gsub(::Formatador::INDENT_REGEX, "")
34
+ value.gsub(Fog::Formatador::PARSE_REGEX) { "\e[#{Fog::Formatador::STYLES[$1.to_sym]}m" }.gsub(Fog::Formatador::INDENT_REGEX, "")
35
35
  else
36
- value.gsub(::Formatador::PARSE_REGEX, "").gsub(::Formatador::INDENT_REGEX, "")
36
+ value.gsub(Fog::Formatador::PARSE_REGEX, "").gsub(Fog::Formatador::INDENT_REGEX, "")
37
37
  end
38
38
  channel.write(message)
39
39
  end
@@ -21,16 +21,7 @@ module Fog
21
21
  end
22
22
 
23
23
  def inspect
24
- Thread.current[:formatador] ||= Formatador.new
25
- data = "#{Thread.current[:formatador].indentation}<#{self.class.name}"
26
- Thread.current[:formatador].indent do
27
- unless self.class.attributes.empty?
28
- data << "\n#{Thread.current[:formatador].indentation}"
29
- data << self.class.attributes.map { |attribute| "#{attribute}=#{send(attribute).inspect}" }.join(",\n#{Thread.current[:formatador].indentation}")
30
- end
31
- end
32
- data << "\n#{Thread.current[:formatador].indentation}>"
33
- data
24
+ Fog::Formatador.format(self)
34
25
  end
35
26
 
36
27
  def reload
@@ -109,14 +109,14 @@ module Fog
109
109
  def display_stdout
110
110
  data = stdout.split("\r\n")
111
111
  if data.is_a?(String)
112
- Formatador.display_line(data)
112
+ Fog::Formatador.display_line(data)
113
113
  elsif data.is_a?(Array)
114
- Formatador.display_lines(data)
114
+ Fog::Formatador.display_lines(data)
115
115
  end
116
116
  end
117
117
 
118
118
  def display_stderr
119
- Formatador.display_line(stderr.split("\r\n"))
119
+ Fog::Formatador.display_line(stderr.split("\r\n"))
120
120
  end
121
121
 
122
122
  def initialize(command)
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Core
3
- VERSION = "1.27.3"
3
+ VERSION = "1.27.4"
4
4
  end
5
5
  end
@@ -1,65 +1,89 @@
1
1
  module Fog
2
2
  # Fog::Formatador
3
- class Formatador
4
- attr_accessor :object, :string, :formatador
3
+ module Formatador
4
+ PARSE_REGEX = ::Formatador::PARSE_REGEX
5
+ STYLES = ::Formatador::STYLES
6
+ INDENT_REGEX = ::Formatador::INDENT_REGEX
5
7
 
6
- def initialize(obj)
7
- @object = obj
8
- @formatador ||= ::Formatador.new
8
+ def self.formatador
9
+ Thread.current[:formatador] ||= ::Formatador.new
9
10
  end
10
11
 
11
- def to_s
12
- return string unless string.nil?
13
- init_string
14
- indent { string << object_string }
15
- (string << "#{indentation}>").dup
12
+ def self.format(object, opts = { :include_nested => true })
13
+ string = init_string(object)
14
+ indent { string << object_string(object, opts) }
15
+ string << "#{indentation}>"
16
+ end
17
+
18
+
19
+
20
+ def self.display_line(data)
21
+ ::Formatador.display_line(data)
22
+ end
23
+
24
+ def self.display_lines(data)
25
+ ::Formatador.display_lines(data)
26
+ end
27
+
28
+ def self.display_compact_table(hashes, keys = nil, &block)
29
+ ::Formatador.display_compact_table(hashes, keys, &block)
30
+ end
31
+
32
+ def self.display_table(hashes, keys = nil, &block)
33
+ ::Formatador.display_table(hashes, keys, &block)
34
+ end
35
+
36
+ def self.redisplay_progressbar(current, total, options = {})
37
+ ::Formatador.redisplay_progressbar(current, total, options = {})
16
38
  end
17
39
 
18
40
  private
19
41
 
20
- def indent(&block)
42
+ def self.indent(&block)
21
43
  formatador.indent(&block)
22
44
  end
23
45
 
24
- def indentation
46
+ def self.indentation
25
47
  formatador.indentation
26
48
  end
27
49
 
28
- def init_string
29
- @string = "#{indentation}<#{object.class.name}\n"
50
+ def self.init_string(object)
51
+ "#{indentation}<#{object.class.name}\n"
30
52
  end
31
53
 
32
- def object_string
33
- "#{attribute_string}#{nested_objects_string}"
54
+ def self.object_string(object, opts)
55
+ string = "#{attribute_string(object)}"
56
+ string << "#{nested_objects_string(object)}" if opts[:include_nested]
57
+ string
34
58
  end
35
59
 
36
- def attribute_string
37
- if object.attributes.empty?
38
- "#{indentation}#{object_attributes}\n"
39
- else
60
+ def self.attribute_string(object)
61
+ return "" unless object.class.respond_to?(:attributes)
62
+ if object.class.attributes.empty?
40
63
  ""
64
+ else
65
+ "#{indentation}#{object_attributes(object)}\n"
41
66
  end
42
67
  end
43
68
 
44
- def nested_objects_string
45
- if object.empty?
46
- nested = "#{indentation}[\n"
47
- indent { nested << indentation + inspect_object }
48
- nested << "#{indentation}\n#{indentation}]\n"
49
- nested
50
- else
51
- ""
52
- end
69
+ def self.nested_objects_string(object)
70
+ nested = ""
71
+ return nested if object.respond_to?(:empty) and object.empty?
72
+ return nested unless object.respond_to?(:map)
73
+ nested = "#{indentation}[\n"
74
+ indent { nested << indentation + inspect_object(object) }
75
+ nested << "#{indentation}\n#{indentation}]\n"
53
76
  end
54
77
 
55
- def object_attributes
78
+ def self.object_attributes(object)
56
79
  attrs = object.class.attributes.map do |attr|
57
80
  "#{attr}=#{object.send(attr).inspect}"
58
81
  end
59
82
  attrs.join(",\n#{indentation}")
60
83
  end
61
84
 
62
- def inspect_object
85
+ def self.inspect_object(object)
86
+ return "" unless object.respond_to?(:map)
63
87
  object.map { |o| indentation + o.inspect }.join(", \n#{indentation}")
64
88
  end
65
89
  end
@@ -20,7 +20,7 @@ module Fog
20
20
  end
21
21
 
22
22
  def tests(mocked)
23
- Formatador.display_line
23
+ Fog::Formatador.display_line
24
24
  start = Time.now.to_i
25
25
  threads = []
26
26
  Thread.main[:results] = []
@@ -33,9 +33,9 @@ module Fog
33
33
  end
34
34
  end
35
35
  threads.each(&:join)
36
- Formatador.display_table(Thread.main[:results].sort { |x, y| x[:provider] <=> y[:provider] })
37
- Formatador.display_line("[bold]FOG_MOCK=#{mocked}[/] tests completed in [bold]#{Time.now.to_i - start}[/] seconds")
38
- Formatador.display_line
36
+ Fog::Formatador.display_table(Thread.main[:results].sort { |x, y| x[:provider] <=> y[:provider] })
37
+ Fog::Formatador.display_line("[bold]FOG_MOCK=#{mocked}[/] tests completed in [bold]#{Time.now.to_i - start}[/] seconds")
38
+ Fog::Formatador.display_line
39
39
  end
40
40
  end
41
41
  end
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- class TestCase < Fog::Collection
3
+ class CollectionTestCase < Fog::Collection
4
4
  def all
5
5
  end
6
6
  def map(*_args)
@@ -20,8 +20,11 @@ class TestCase < Fog::Collection
20
20
  end
21
21
  end
22
22
 
23
- test_case_str = <<-EOL
24
- <TestCase
23
+ class NonCollectionTestCase
24
+ end
25
+
26
+ test_case_str1 = <<-EOL
27
+ <CollectionTestCase
25
28
  this=["this", "that"],
26
29
  that=["that", "this"]
27
30
  [
@@ -30,28 +33,40 @@ test_case_str = <<-EOL
30
33
  ]
31
34
  >
32
35
  EOL
36
+ test_case_str1.chomp!
37
+
38
+ test_case_str2 = <<-EOL
39
+ <CollectionTestCase
40
+ this=["this", "that"],
41
+ that=["that", "this"]
42
+ >
43
+ EOL
44
+ test_case_str2.chomp!
33
45
 
34
- test_case_str.chomp!
46
+ test_case_str3 = <<-EOL
47
+ <NonCollectionTestCase
48
+ >
49
+ EOL
50
+ test_case_str3.chomp!
35
51
 
36
52
  describe Fog::Formatador do
37
53
 
38
54
  def setup
39
- @formatador = Fog::Formatador.new(TestCase.new)
40
- end
41
-
42
- it "raises for missing required arguments" do
43
- assert_raises(ArgumentError) { Fog::Formatador.new }
55
+ @collection_test = CollectionTestCase.new
56
+ @collection_test << 'this'
57
+ @non_collection_test = NonCollectionTestCase.new
44
58
  end
45
59
 
46
- it "should instansiate" do
47
- @formatador.must_be_instance_of Fog::Formatador
60
+ it "should give a string representation of object with proper indentation" do
61
+ Fog::Formatador.format(@collection_test).must_equal test_case_str1
48
62
  end
49
63
 
50
- it "should respond to_s" do
51
- @formatador.must_respond_to :to_s
52
- end
64
+ it 'should not include nested objects' do
65
+ opts = { :include_nested => false }
66
+ Fog::Formatador.format(@collection_test, opts).must_equal test_case_str2
67
+ end
53
68
 
54
- it "should give a string representation of object with proper indentation" do
55
- "#{@formatador}".must_equal test_case_str
69
+ it 'should not raise if object does not response to :empty? or :map' do
70
+ Fog::Formatador.format(@non_collection_test).must_equal test_case_str3
56
71
  end
57
72
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.27.3
4
+ version: 1.27.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Light
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-12 00:00:00.000000000 Z
12
+ date: 2015-01-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder