From 409c1423e2836159c0c8e09e981587c156b2c982 Mon Sep 17 00:00:00 2001 From: Neil Decapia Date: Wed, 27 Jul 2022 22:29:26 +0800 Subject: [PATCH 1/2] Expose a couple of step attributes * `#klass` in `Actionable::Steps::Action` * `#cases` in `Actionable::Steps::Case` --- lib/actionable/steps/action.rb | 2 ++ lib/actionable/steps/case.rb | 2 ++ spec/steps/action_spec.rb | 1 + spec/steps/case_step_spec.rb | 7 +++++++ 4 files changed, 12 insertions(+) diff --git a/lib/actionable/steps/action.rb b/lib/actionable/steps/action.rb index 9ce4aad..ed0b3fd 100644 --- a/lib/actionable/steps/action.rb +++ b/lib/actionable/steps/action.rb @@ -3,6 +3,8 @@ module Actionable class Steps class Action < Base + attr_reader :klass + def initialize(klass, options = {}) super klass.action_name, options @klass = klass diff --git a/lib/actionable/steps/case.rb b/lib/actionable/steps/case.rb index 487ff37..8827af6 100644 --- a/lib/actionable/steps/case.rb +++ b/lib/actionable/steps/case.rb @@ -3,6 +3,8 @@ module Actionable class Steps class Case < Base + attr_reader :cases + def initialize(name, options = {}, &blk) super build_cases blk diff --git a/spec/steps/action_spec.rb b/spec/steps/action_spec.rb index 6e9a4b5..5605e94 100644 --- a/spec/steps/action_spec.rb +++ b/spec/steps/action_spec.rb @@ -10,6 +10,7 @@ class Steps subject { described_class.new klass, options } it('name ') { expect(subject.name).to eq 'test_actionable/small_action' } it('options') { expect(subject.options).to eq options } + it('klass ') { expect(subject.klass).to eq klass } context '#run' do let(:instance) { TestActionable::GreatAction.new number } context 'on success' do diff --git a/spec/steps/case_step_spec.rb b/spec/steps/case_step_spec.rb index 3adc1ad..533367f 100644 --- a/spec/steps/case_step_spec.rb +++ b/spec/steps/case_step_spec.rb @@ -17,6 +17,13 @@ class Steps end it('name ') { expect(subject.name).to eq 'number' } it('options') { expect(subject.options).to eq options } + it('cases ') do + expect(subject.cases).to contain_exactly( + [1, an_instance_of(Actionable::Steps::Method)], + [/2/, an_instance_of(Actionable::Steps::Action)], + [[3, 4], an_instance_of(Actionable::Steps::Method)] + ) + end context '#run' do let(:instance) { TestActionable::GreatAction.new number } context 'with a default' do From 2f675875f45fb40a3a55b8838510005cb9e79882 Mon Sep 17 00:00:00 2001 From: Neil Decapia Date: Thu, 28 Jul 2022 00:07:31 +0800 Subject: [PATCH 2/2] Bump actionable to 0.1.5 --- lib/actionable/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/actionable/version.rb b/lib/actionable/version.rb index 24641a8..f9c6f91 100644 --- a/lib/actionable/version.rb +++ b/lib/actionable/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Actionable - VERSION = '0.1.4' + VERSION = '0.1.5' end