omnievent 0.1.0.pre3 → 0.1.0.pre4
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 +4 -4
- data/.rubocop.yml +7 -5
- data/lib/omnievent/strategies/developer.rb +12 -0
- data/lib/omnievent/strategy.rb +12 -0
- data/lib/omnievent/version.rb +1 -1
- data/lib/omnievent.rb +36 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38717b9e58eab673d2701d9bd2fb29a47b39820614cf9b46ab2dfde98a940d7f
|
4
|
+
data.tar.gz: 8f750f1bf92f031b333bb50a39e1dd8f355d641549ed271c9c0017689676c63c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e5224989a966288fb06247ca102f5a93491703df0180e69532f3baf228488e3cee2872b244248418108717430413745e1c083526cb344bf59cd6536eafab2cc
|
7
|
+
data.tar.gz: 5941e388487c35a43935675dc12a5a8af99756b86d98d053d3aed128b915d3032d12e2ced512889525c9a00fd0aa0326a294ee9e1c8810e389d1527b60a060d9
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
AllCops:
|
2
|
-
TargetRubyVersion: 2.6
|
3
|
-
|
4
1
|
Layout/LineLength:
|
5
2
|
Max: 120
|
6
3
|
|
@@ -14,8 +11,10 @@ Metrics/BlockLength:
|
|
14
11
|
- 'spec/**/*.rb'
|
15
12
|
|
16
13
|
Metrics/MethodLength:
|
17
|
-
|
18
|
-
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
Metrics/BlockLength:
|
17
|
+
Enabled: false
|
19
18
|
|
20
19
|
Metrics/ClassLength:
|
21
20
|
Max: 150
|
@@ -46,3 +45,6 @@ Style/OptionalBooleanParameter:
|
|
46
45
|
|
47
46
|
Style/MultilineBlockChain:
|
48
47
|
Enabled: false
|
48
|
+
|
49
|
+
Style/Documentation:
|
50
|
+
Enabled: false
|
@@ -30,6 +30,18 @@ module OmniEvent
|
|
30
30
|
raw_data["events"]
|
31
31
|
end
|
32
32
|
|
33
|
+
def create_event
|
34
|
+
options.event
|
35
|
+
end
|
36
|
+
|
37
|
+
def update_event
|
38
|
+
options.event
|
39
|
+
end
|
40
|
+
|
41
|
+
def destroy_event
|
42
|
+
true
|
43
|
+
end
|
44
|
+
|
33
45
|
def event_hash(raw_event)
|
34
46
|
event = OmniEvent::EventHash.new(
|
35
47
|
provider: name,
|
data/lib/omnievent/strategy.rb
CHANGED
@@ -170,6 +170,18 @@ module OmniEvent
|
|
170
170
|
end
|
171
171
|
end
|
172
172
|
|
173
|
+
def create_event
|
174
|
+
raise NotImplementedError
|
175
|
+
end
|
176
|
+
|
177
|
+
def update_event
|
178
|
+
raise NotImplementedError
|
179
|
+
end
|
180
|
+
|
181
|
+
def destroy_event
|
182
|
+
raise NotImplementedError
|
183
|
+
end
|
184
|
+
|
173
185
|
# Direct access to the OmniEvent logger, automatically prefixed
|
174
186
|
# with this strategy's name.
|
175
187
|
#
|
data/lib/omnievent/version.rb
CHANGED
data/lib/omnievent.rb
CHANGED
@@ -57,11 +57,46 @@ module OmniEvent
|
|
57
57
|
|
58
58
|
# List events.
|
59
59
|
def list_events(provider = nil, opts = {})
|
60
|
-
|
60
|
+
validate_provider_arg(provider)
|
61
61
|
|
62
62
|
strategy_instance(provider).request(:list_events, opts)
|
63
63
|
end
|
64
64
|
|
65
|
+
# Create event.
|
66
|
+
def create_event(provider = nil, opts = {})
|
67
|
+
validate_event_args(provider, opts)
|
68
|
+
|
69
|
+
strategy_instance(provider).request(:create_event, opts)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Update event.
|
73
|
+
def update_event(provider = nil, opts = {})
|
74
|
+
validate_event_args(provider, opts)
|
75
|
+
|
76
|
+
strategy_instance(provider).request(:update_event, opts)
|
77
|
+
end
|
78
|
+
|
79
|
+
# Destroy event.
|
80
|
+
def destroy_event(provider = nil, opts = {})
|
81
|
+
validate_event_args(provider, opts)
|
82
|
+
|
83
|
+
strategy_instance(provider).request(:destroy_event, opts)
|
84
|
+
end
|
85
|
+
|
86
|
+
def validate_provider_arg(provider)
|
87
|
+
raise ArgumentError, "You need to pass a provider name as the first argument." unless provider
|
88
|
+
end
|
89
|
+
|
90
|
+
def validate_event_args(provider, opts)
|
91
|
+
validate_provider_arg(provider)
|
92
|
+
|
93
|
+
raise ArgumentError, "You need to pass a valid as :event in opts." unless opts_have_valid_event?(opts)
|
94
|
+
end
|
95
|
+
|
96
|
+
def opts_have_valid_event?(opts)
|
97
|
+
opts[:event].present? && opts[:event].is_a?(OmniEvent::EventHash) && opts[:event].valid?
|
98
|
+
end
|
99
|
+
|
65
100
|
def strategy_instance(provider)
|
66
101
|
klass = provider_class(provider)
|
67
102
|
raise MissingStrategy, "Could not find matching strategy for #{klass.inspect}." unless klass
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omnievent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.
|
4
|
+
version: 0.1.0.pre4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Angus McLeod
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: 1.3.1
|
147
147
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
148
|
+
rubygems_version: 3.3.26
|
149
149
|
signing_key:
|
150
150
|
specification_version: 4
|
151
151
|
summary: Manage events from multiple providers.
|