Class: Pact::Provider::State::ProviderStates
- Inherits:
-
Object
- Object
- Pact::Provider::State::ProviderStates
- Defined in:
- lib/pact/provider/state/provider_state.rb
Class Method Summary collapse
- .base_provider_state ⇒ Object
- .current_namespaces ⇒ Object
- .get(name, options = {}) ⇒ Object
- .get_base(opts = {}) ⇒ Object
- .namespaced_name(name, options = {}) ⇒ Object
- .provider_state(name, &block) ⇒ Object
- .provider_states ⇒ Object
- .register(name, provider_state) ⇒ Object
Class Method Details
.base_provider_state ⇒ Object
34 35 36 37 38 |
# File 'lib/pact/provider/state/provider_state.rb', line 34 def self.base_provider_state fullname = namespaced_name BASE_PROVIDER_STATE_NAME, {:for => current_namespaces.first } provider_states[fullname] ||= ProviderState.new(BASE_PROVIDER_STATE_NAME, current_namespaces.join('.')) provider_states[fullname] end |
.current_namespaces ⇒ Object
48 49 50 |
# File 'lib/pact/provider/state/provider_state.rb', line 48 def self.current_namespaces @@current_namespaces ||= [] end |
.get(name, options = {}) ⇒ Object
52 53 54 55 |
# File 'lib/pact/provider/state/provider_state.rb', line 52 def self.get name, = {} fullname = namespaced_name name, (provider_states[fullname] || provider_states[fullname.to_sym] || provider_states[name]) end |
.get_base(opts = {}) ⇒ Object
57 58 59 60 |
# File 'lib/pact/provider/state/provider_state.rb', line 57 def self.get_base opts = {} fullname = namespaced_name BASE_PROVIDER_STATE_NAME, opts provider_states[fullname] || NoOpProviderState end |
.namespaced_name(name, options = {}) ⇒ Object
62 63 64 |
# File 'lib/pact/provider/state/provider_state.rb', line 62 def self.namespaced_name name, = {} [:for] ? "#{[:for]}.#{name}" : name end |
.provider_state(name, &block) ⇒ Object
30 31 32 |
# File 'lib/pact/provider/state/provider_state.rb', line 30 def self.provider_state name, &block ProviderState.build(name, current_namespaces.join('.'), &block) end |
.provider_states ⇒ Object
44 45 46 |
# File 'lib/pact/provider/state/provider_state.rb', line 44 def self.provider_states @@provider_states ||= {} end |
.register(name, provider_state) ⇒ Object
40 41 42 |
# File 'lib/pact/provider/state/provider_state.rb', line 40 def self.register name, provider_state provider_states[name] = provider_state end |