peach-ruby 0.3.0 → 0.5.0

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
  SHA256:
3
- metadata.gz: 8a7f27b5b01c8b9ea55f876a6250f0c88eb475f5b420357a286a89cf8fa9482e
4
- data.tar.gz: 59347383246e9ba8820d31fc97eed2f1a41c58fda460c540e00ea91d9a2fd5b6
3
+ metadata.gz: 1c436683fd63ce4146bae46abd33f6a3b526763827e0346fc078047f45ceb83a
4
+ data.tar.gz: 510884541687f39b105f3f99ddd5c1dd58a9749b730462b40ab2f46082f92e50
5
5
  SHA512:
6
- metadata.gz: 7f82051293a16fdd61f4bc0b8d034e92eaed01f44fb0aa7dcaabc36db8f17b8e8af0c7c55092efe08fe24db6e1c3d9a3ed1ee9d85da7bdce31afdafcc5c0cbb5
7
- data.tar.gz: b416cdc3ae802d1466a612e41f806407fe89597c3c113ca46b558e151abed10fce3eaaee7edf0f225cea8d59eef91b85a02722997f8fd3335b33f0b749f41b9a
6
+ metadata.gz: e89f352088cd473f27aea558b6f9ffbab323cc5995de4466ee9982b407a82e1c3266243776a96b731879c7b5b8169e94b99ac7d5e87e1d0979e6031c1fdfa214
7
+ data.tar.gz: 623041f06dd194ac1a18b067ae49165a8c81453bdf91f5684480161ad04f5f8f1e90728684107309c487563ebace0aa1fb998462bc1e01ceafebecafd0ea14aa
data/README.md CHANGED
@@ -45,10 +45,41 @@ Peach::TemplateMessage.deliver('wat_1234abcd', { foo: 'bar' }, contact)
45
45
 
46
46
  ## Development
47
47
 
48
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
48
+ ### Install dependencies
49
49
 
50
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
50
+ ```bash
51
+ bin/setup
52
+ ```
53
+
54
+ ### Run tests
55
+
56
+ ```bash
57
+ bundle exec rake spec
58
+ ```
59
+
60
+ ### Use the interactive prompt
61
+
62
+ ```bash
63
+ bin/console
64
+ ```
65
+
66
+ ### Install gem locally
67
+
68
+ ```bash
69
+ bundle exec rake install
70
+ ```
71
+
72
+ ### Release a new version
73
+
74
+ We use the [rubygems/release-gem@v1](https://github.com/rubygems/release-gem) action, which creates the tags and pushes the `.gem` file to [rubygems.org](https://rubygems.org) for us.
75
+
76
+ What we need to do then is:
77
+ 1. Update version number in `version.rb`
78
+ 2. Run `bundle install` to update `Gemfile.lock` with the new gem version
79
+ 3. Add and commit changes and create a Pull Request
80
+
81
+ The GitHub Action then should ideally take care of the rest.
51
82
 
52
83
  ## Contributing
53
84
 
54
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/peach-ruby.
85
+ Bug reports and pull requests are welcome on GitHub at https://github.com/trypeach-io/peach-ruby.
@@ -42,6 +42,12 @@ module Peach
42
42
  { prompt: prompt }
43
43
  end
44
44
 
45
+ def send_template_message(system_name, data: {})
46
+ template_message = { system_name: system_name }
47
+ template_message[:data] = data unless data.empty?
48
+ { template_message: template_message }
49
+ end
50
+
45
51
  def handoff(user_id: nil, group_id: nil, text: nil)
46
52
  handoff = {}
47
53
  handoff[:message] = { text: text } if text
@@ -95,8 +101,8 @@ module Peach
95
101
  def validate_prompt(prompt)
96
102
  validate_key(prompt)
97
103
  validate_data(prompt)
98
- validate_button(prompt) if prompt.key?(:button)
99
- validate_options(prompt) if prompt.key?(:options)
104
+ validate_button(prompt)
105
+ validate_options(prompt)
100
106
  end
101
107
 
102
108
  def validate_key(prompt)
@@ -110,11 +116,15 @@ module Peach
110
116
  end
111
117
 
112
118
  def validate_button(prompt)
119
+ return unless prompt.key?(:button)
120
+
113
121
  raise Peach::BadResponseError, 'Field `prompt.button` is not a String' unless prompt[:button].is_a?(String)
114
122
  raise Peach::BadResponseError, 'Field `prompt.button` is empty' if prompt[:button].empty?
115
123
  end
116
124
 
117
125
  def validate_options(prompt)
126
+ return unless prompt.key?(:options)
127
+
118
128
  raise Peach::BadResponseError, 'Field `prompt.options` is not an Array' unless prompt[:options].is_a?(Array)
119
129
 
120
130
  validate_each_option(prompt)
@@ -123,7 +133,7 @@ module Peach
123
133
  def validate_each_option(prompt)
124
134
  prompt[:options].each_with_index do |option, idx|
125
135
  validate_option_is_hash(option, idx)
126
- validate_option_title(option, idx)
136
+ # validate_option_title(option, idx)
127
137
  validate_option_value_or_values(prompt, option, idx)
128
138
  end
129
139
  end
@@ -144,7 +154,7 @@ module Peach
144
154
  if prompt.key?(:button)
145
155
  validate_option_values(option, idx)
146
156
  else
147
- validate_option_value(option, idx)
157
+ # validate_option_value(option, idx)
148
158
  end
149
159
  end
150
160
 
@@ -160,7 +170,7 @@ module Peach
160
170
  end
161
171
 
162
172
  validate_values_are_array(option, idx)
163
- validate_each_value(option, idx)
173
+ # validate_each_value(option, idx)
164
174
  end
165
175
 
166
176
  def validate_values_are_array(option, idx)
data/lib/peach/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Peach
4
- VERSION = '0.3.0'
4
+ VERSION = '0.5.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peach-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peach Developers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-08 00:00:00.000000000 Z
11
+ date: 2024-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debug