dotpretty 0.7.0 → 0.8.0

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
  SHA256:
3
- metadata.gz: 8205f1decc125ec0d793587399cc4ff3f7969a7eef4af49f329417bb7242e857
4
- data.tar.gz: 87de6c2d74f51077c24148848494b89409dfc468423bb9689f043370110cf6e2
3
+ metadata.gz: f1d0018b1e41f70563e11d4c495a357e8df1b355f02df5e5663dc2d6062f2757
4
+ data.tar.gz: 7280f945df62f089cb2a53735cc464613400ffab68783a7a4f57c0d25a19dee4
5
5
  SHA512:
6
- metadata.gz: 5f4f1bdadaf2d027fcb3390e65e9f4dd2b40f403efe9c345b6448090c0fe5e33ddaef5a87e2a87075a17e7e33cc1e959e742d90cc5bbfdb77674e3bdf3fbe22d
7
- data.tar.gz: 31208e1b8de1e11b30c7c3281f2e9677a2c8021fd593c6e85f8f620cdacf217a82e118123ca2f5d5b93e332dd00777c56c081f596e4bb63a3e8faa59e826109f
6
+ metadata.gz: 1973ccb7c3a07c2b6f36fff91b1446577c0aa58b7180060a2186f06a929d379f52f92bf181f3d3081768edf93ec4cf73b702247841594daea2d9d68a05f23121
7
+ data.tar.gz: 896f15d3c8f1d9dd79cd8844ce32be59cdca11ee211ca0c5cef178bff90033b6f64c8a09ee8fa43a60b76ea1a975246f3274912c0d72c30e9ba1d33035dc1628
data/bin/dotpretty CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "dotpretty/colorers/bash"
4
- require "dotpretty/colorers/null"
3
+ require "dotpretty/color_palettes/bash"
4
+ require "dotpretty/color_palettes/null"
5
5
  require "dotpretty/reporters/names"
6
6
  require "dotpretty/runner"
7
7
  require "optparse"
@@ -33,9 +33,9 @@ OptionParser.new do |opts|
33
33
 
34
34
  end.parse!
35
35
 
36
- colorer = options[:color] ? Dotpretty::Colorers::Bash : Dotpretty::Colorers::Null
36
+ color_palette = options[:color] ? Dotpretty::ColorPalettes::Bash : Dotpretty::ColorPalettes::Null
37
37
  runner = Dotpretty::Runner.new({
38
- colorer: colorer,
38
+ color_palette: color_palette,
39
39
  output: STDOUT,
40
40
  reporter_name: options[:reporter_name]
41
41
  })
@@ -1,5 +1,5 @@
1
1
  module Dotpretty
2
- module Colorers
2
+ module ColorPalettes
3
3
  module Bash
4
4
 
5
5
  RESET="\e[0m"
@@ -1,5 +1,5 @@
1
1
  module Dotpretty
2
- module Colorers
2
+ module ColorPalettes
3
3
  module Null
4
4
 
5
5
  def green(text)
@@ -1,13 +1,13 @@
1
1
  require "dotpretty/aggregator"
2
2
  require "dotpretty/reporters/basic"
3
- require "dotpretty/state_machine_builder"
3
+ require "dotpretty/state_machine/state_machine_builder"
4
4
 
5
5
  module Dotpretty
6
6
  class Parser
7
7
 
8
8
  def initialize(reporter:)
9
9
  self.aggregator = Dotpretty::Aggregator.new({ reporter: reporter })
10
- self.state_machine = Dotpretty::StateMachineBuilder.build(aggregator) do
10
+ self.state_machine = Dotpretty::StateMachine::StateMachineBuilder.build(aggregator) do
11
11
  state :waiting do
12
12
  transition :build_started, :build_in_progress, :build_started
13
13
  end
@@ -4,9 +4,9 @@ module Dotpretty
4
4
  module Reporters
5
5
  class Basic
6
6
 
7
- def initialize(colorer:, output:)
8
- self.colorer = colorer
9
- self.extend(colorer)
7
+ def initialize(color_palette:, output:)
8
+ self.color_palette = color_palette
9
+ self.extend(color_palette)
10
10
  self.output = output
11
11
  end
12
12
 
@@ -55,12 +55,12 @@ module Dotpretty
55
55
 
56
56
  def colored_message(summary)
57
57
  return Dotpretty::Reporters::TestSummaryFormatter.new({
58
- colorer: colorer,
58
+ color_palette: color_palette,
59
59
  summary: summary
60
60
  }).colored_message
61
61
  end
62
62
 
63
- attr_accessor :colorer, :output
63
+ attr_accessor :color_palette, :output
64
64
 
65
65
  end
66
66
  end
@@ -1,4 +1,4 @@
1
- require "dotpretty/colorers/null"
1
+ require "dotpretty/color_palettes/null"
2
2
  require "dotpretty/reporters/basic"
3
3
  require "dotpretty/reporters/json"
4
4
  require "dotpretty/reporters/names"
@@ -14,12 +14,12 @@ module Dotpretty
14
14
  return Dotpretty::Reporters::Json.new(options.fetch(:output))
15
15
  when Dotpretty::Reporters::Names::PROGRESS
16
16
  return Dotpretty::Reporters::Progress.new({
17
- colorer: options.fetch(:colorer),
17
+ color_palette: options.fetch(:color_palette),
18
18
  output: options.fetch(:output)
19
19
  })
20
20
  else
21
21
  return Dotpretty::Reporters::Basic.new({
22
- colorer: options.fetch(:colorer),
22
+ color_palette: options.fetch(:color_palette),
23
23
  output: options.fetch(:output)
24
24
  })
25
25
  end
@@ -2,9 +2,9 @@ module Dotpretty
2
2
  module Reporters
3
3
  class Progress
4
4
 
5
- def initialize(colorer:, output:)
6
- self.colorer = colorer
7
- self.extend(colorer)
5
+ def initialize(color_palette:, output:)
6
+ self.color_palette = color_palette
7
+ self.extend(color_palette)
8
8
  self.failing_tests = []
9
9
  self.skipped_test_names = []
10
10
  self.output = output
@@ -56,7 +56,7 @@ module Dotpretty
56
56
 
57
57
  def formatted_test_summary(summary)
58
58
  return Dotpretty::Reporters::TestSummaryFormatter.new({
59
- colorer: colorer,
59
+ color_palette: color_palette,
60
60
  summary: summary
61
61
  }).colored_message
62
62
  end
@@ -84,7 +84,7 @@ module Dotpretty
84
84
  output.puts("")
85
85
  end
86
86
 
87
- attr_accessor :colorer, :failing_tests, :output, :skipped_test_names
87
+ attr_accessor :color_palette, :failing_tests, :output, :skipped_test_names
88
88
 
89
89
  end
90
90
  end
@@ -2,8 +2,8 @@ module Dotpretty
2
2
  module Reporters
3
3
  class TestSummaryFormatter
4
4
 
5
- def initialize(colorer:, summary:)
6
- self.extend(colorer)
5
+ def initialize(color_palette:, summary:)
6
+ self.extend(color_palette)
7
7
  self.summary = summary
8
8
  end
9
9
 
@@ -4,10 +4,10 @@ require "dotpretty/reporters/factory"
4
4
  module Dotpretty
5
5
  class Runner
6
6
 
7
- def initialize(colorer:, output:, reporter_name:)
7
+ def initialize(color_palette:, output:, reporter_name:)
8
8
  reporter = Dotpretty::Reporters::Factory.build_reporter(reporter_name, {
9
9
  output: output,
10
- colorer: colorer
10
+ color_palette: color_palette
11
11
  })
12
12
  self.parser = Dotpretty::Parser.new({ reporter: reporter })
13
13
  end
@@ -0,0 +1,26 @@
1
+ module Dotpretty
2
+ module StateMachine
3
+ class StateDetails
4
+
5
+ def initialize(transitions:, exit_action:, entry_action:)
6
+ self.entry_action = entry_action
7
+ self.exit_action = exit_action
8
+ self.transitions = transitions
9
+ end
10
+
11
+ attr_reader :entry_action
12
+
13
+
14
+ def trigger(event, &block)
15
+ transition = transitions[event]
16
+ block.call(transition, exit_action) if transition
17
+ end
18
+
19
+ private
20
+
21
+ attr_accessor :exit_action, :transitions
22
+ attr_writer :entry_action
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,45 @@
1
+ require "dotpretty/state_machine/state_details"
2
+
3
+ module Dotpretty
4
+ module StateMachine
5
+ class StateMachine
6
+
7
+ def initialize(initial_state:, observer:, states:)
8
+ self.current_state_name = initial_state
9
+ self.observer = observer
10
+ self.states = states
11
+ end
12
+
13
+ attr_reader :current_state_name
14
+
15
+ def trigger(event, *args)
16
+ current_state.trigger(event) do |transition, exit_action|
17
+ perform(exit_action, *args) if current_state_name != transition[:next_state_name]
18
+ perform(transition[:action], *args)
19
+ if current_state_name != transition[:next_state_name]
20
+ self.current_state_name = transition[:next_state_name]
21
+ perform(current_state.entry_action, *args)
22
+ end
23
+ end
24
+ end
25
+
26
+ private
27
+
28
+ def perform(action, *args)
29
+ observer.send(action, *args) if action
30
+ end
31
+
32
+ def current_state
33
+ states[current_state_name] || StateDetails.new({
34
+ entry_action: nil,
35
+ exit_action: nil,
36
+ transitions: {}
37
+ })
38
+ end
39
+
40
+ attr_accessor :observer, :states
41
+ attr_writer :current_state_name
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,80 @@
1
+ require "dotpretty/state_machine/state_details"
2
+ require "dotpretty/state_machine/state_machine"
3
+
4
+ module Dotpretty
5
+ module StateMachine
6
+ class StateMachineBuilder
7
+ class StateDetailsBuilder
8
+
9
+ def self.build(name, &definition)
10
+ builder = StateDetailsBuilder.new(name)
11
+ builder.instance_eval(&definition)
12
+ return builder.build
13
+ end
14
+
15
+ def initialize(name)
16
+ self.name = name
17
+ self.transitions = {}
18
+ end
19
+
20
+ def build
21
+ StateDetails.new({
22
+ entry_action: entry_action,
23
+ exit_action: exit_action,
24
+ transitions: transitions
25
+ })
26
+ end
27
+
28
+ def transition(event, next_state_name, action = nil)
29
+ transitions[event] = {
30
+ action: action,
31
+ next_state_name: next_state_name
32
+ }
33
+ end
34
+
35
+ def on_entry(action)
36
+ self.entry_action = action
37
+ end
38
+
39
+ def on_exit(action)
40
+ self.exit_action = action
41
+ end
42
+
43
+ private
44
+
45
+ attr_accessor :entry_action, :exit_action, :name, :transitions
46
+
47
+ end
48
+
49
+ def self.build(observer, &definition)
50
+ builder = Dotpretty::StateMachine::StateMachineBuilder.new(observer)
51
+ builder.instance_eval(&definition)
52
+ return builder.build
53
+ end
54
+
55
+ def initialize(observer)
56
+ self.observer = observer
57
+ self.states = {}
58
+ end
59
+
60
+ def state(name, &definition)
61
+ state = StateDetailsBuilder.build(name, &definition)
62
+ states[name] = state
63
+ self.initial_state = name if !initial_state
64
+ end
65
+
66
+ def build
67
+ Dotpretty::StateMachine::StateMachine.new({
68
+ initial_state: initial_state,
69
+ observer: observer,
70
+ states: states
71
+ })
72
+ end
73
+
74
+ private
75
+
76
+ attr_accessor :initial_state, :observer, :states
77
+
78
+ end
79
+ end
80
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dotpretty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Meyer
@@ -18,10 +18,9 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - bin/dotpretty
21
- - lib/dotpretty.rb
22
21
  - lib/dotpretty/aggregator.rb
23
- - lib/dotpretty/colorers/bash.rb
24
- - lib/dotpretty/colorers/null.rb
22
+ - lib/dotpretty/color_palettes/bash.rb
23
+ - lib/dotpretty/color_palettes/null.rb
25
24
  - lib/dotpretty/parser.rb
26
25
  - lib/dotpretty/reporters/basic.rb
27
26
  - lib/dotpretty/reporters/factory.rb
@@ -30,9 +29,9 @@ files:
30
29
  - lib/dotpretty/reporters/progress.rb
31
30
  - lib/dotpretty/reporters/test_summary_formatter.rb
32
31
  - lib/dotpretty/runner.rb
33
- - lib/dotpretty/state_details.rb
34
- - lib/dotpretty/state_machine.rb
35
- - lib/dotpretty/state_machine_builder.rb
32
+ - lib/dotpretty/state_machine/state_details.rb
33
+ - lib/dotpretty/state_machine/state_machine.rb
34
+ - lib/dotpretty/state_machine/state_machine_builder.rb
36
35
  homepage: https://github.com/ericmeyer/dotpretty
37
36
  licenses:
38
37
  - MIT
@@ -1,23 +0,0 @@
1
- module Dotpretty
2
- class StateDetails
3
-
4
- def initialize(transitions:, exit_action:, entry_action:)
5
- self.entry_action = entry_action
6
- self.exit_action = exit_action
7
- self.transitions = transitions
8
- end
9
-
10
- attr_reader :entry_action
11
-
12
- def trigger(event, &block)
13
- transition = transitions[event]
14
- block.call(transition, exit_action) if transition
15
- end
16
-
17
- private
18
-
19
- attr_accessor :exit_action, :transitions
20
- attr_writer :entry_action
21
-
22
- end
23
- end
@@ -1,43 +0,0 @@
1
- require "dotpretty/state_details"
2
-
3
- module Dotpretty
4
- class StateMachine
5
-
6
- def initialize(initial_state:, observer:, states:)
7
- self.current_state_name = initial_state
8
- self.observer = observer
9
- self.states = states
10
- end
11
-
12
- attr_reader :current_state_name
13
-
14
- def trigger(event, *args)
15
- current_state.trigger(event) do |transition, exit_action|
16
- perform(exit_action, *args) if current_state_name != transition[:next_state_name]
17
- perform(transition[:action], *args)
18
- if current_state_name != transition[:next_state_name]
19
- self.current_state_name = transition[:next_state_name]
20
- perform(current_state.entry_action, *args)
21
- end
22
- end
23
- end
24
-
25
- private
26
-
27
- def perform(action, *args)
28
- observer.send(action, *args) if action
29
- end
30
-
31
- def current_state
32
- states[current_state_name] || StateDetails.new({
33
- entry_action: nil,
34
- exit_action: nil,
35
- transitions: {}
36
- })
37
- end
38
-
39
- attr_accessor :observer, :states
40
- attr_writer :current_state_name
41
-
42
- end
43
- end
@@ -1,79 +0,0 @@
1
- require "dotpretty/state_details"
2
- require "dotpretty/state_machine"
3
-
4
- module Dotpretty
5
- class StateMachineBuilder
6
-
7
- class StateDetailsBuilder
8
-
9
- def self.build(name, &definition)
10
- builder = StateDetailsBuilder.new(name)
11
- builder.instance_eval(&definition)
12
- return builder.build
13
- end
14
-
15
- def initialize(name)
16
- self.name = name
17
- self.transitions = {}
18
- end
19
-
20
- def build
21
- StateDetails.new({
22
- entry_action: entry_action,
23
- exit_action: exit_action,
24
- transitions: transitions
25
- })
26
- end
27
-
28
- def transition(event, next_state_name, action = nil)
29
- transitions[event] = {
30
- action: action,
31
- next_state_name: next_state_name
32
- }
33
- end
34
-
35
- def on_entry(action)
36
- self.entry_action = action
37
- end
38
-
39
- def on_exit(action)
40
- self.exit_action = action
41
- end
42
-
43
- private
44
-
45
- attr_accessor :entry_action, :exit_action, :name, :transitions
46
-
47
- end
48
-
49
- def self.build(observer, &definition)
50
- builder = Dotpretty::StateMachineBuilder.new(observer)
51
- builder.instance_eval(&definition)
52
- return builder.build
53
- end
54
-
55
- def initialize(observer)
56
- self.observer = observer
57
- self.states = {}
58
- end
59
-
60
- def state(name, &definition)
61
- state = StateDetailsBuilder.build(name, &definition)
62
- states[name] = state
63
- self.initial_state = name if !initial_state
64
- end
65
-
66
- def build
67
- Dotpretty::StateMachine.new({
68
- initial_state: initial_state,
69
- observer: observer,
70
- states: states
71
- })
72
- end
73
-
74
- private
75
-
76
- attr_accessor :initial_state, :observer, :states
77
-
78
- end
79
- end
data/lib/dotpretty.rb DELETED
@@ -1 +0,0 @@
1
- require "dotpretty/parser"