cenit-collection-super 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +1 -0
- data/Gemfile +22 -0
- data/LICENSE +26 -0
- data/README.md +330 -0
- data/Rakefile +78 -0
- data/VERSION +1 -0
- data/lib/cenit/collection/super.rb +37 -0
- data/lib/cenit/collection/super/build.rb +14 -0
- data/lib/cenit/collection/super/connection_roles/twilio_api_rol.json +15 -0
- data/lib/cenit/collection/super/connections/twilio_api_connection.json +28 -0
- data/lib/cenit/collection/super/events/communication_sms_on_created_at.json +17 -0
- data/lib/cenit/collection/super/flows/send_sms_with_twilio_api.json +19 -0
- data/lib/cenit/collection/super/index.json +7 -0
- data/lib/cenit/collection/super/libraries/index.json +1 -0
- data/lib/cenit/collection/super/translators/sms_to_twilio_api.json +20 -0
- data/lib/cenit/collection/super/version.rb +7 -0
- data/lib/cenit/collection/super/webhooks/twilio_api_send_sms.json +6 -0
- data/spec/spec_helper.rb +37 -0
- metadata +175 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9f069b4788c74736f50a0ac1e1af919992be36b2
|
4
|
+
data.tar.gz: 8a7221be5f04333a59902e12f17d83aebeb5c7c9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ca02bb1eb64f12e8dc1fd93fa8e0d005dc64781ba560ca84c8dc74a49cac59eebda25fff4aa8730e6a84c32731ba12e3437fff59055aa939ce03ea72eee693c8
|
7
|
+
data.tar.gz: 0cfec93bf887d588a54aded7fcba0a030280b0bca7d0673ba1eb1e1f9d0fd680cd9280a68e93d8a1cd8aca09f98dec3d8f260e594586077932ef8aa7e1bc4fd2
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#source 'https://rubygems.org'
|
2
|
+
source 'http://s3.amazonaws.com/production.s3.rubygems.org/'
|
3
|
+
|
4
|
+
# Add dependencies required to use your gem here.
|
5
|
+
gem 'cenit-collection-base'
|
6
|
+
gem 'cenit-client'
|
7
|
+
gem 'activesupport'
|
8
|
+
|
9
|
+
# Include Cenit Collection Gem dependency
|
10
|
+
# gem 'cenit-collection-[My Dependency]'
|
11
|
+
|
12
|
+
# Add dependencies to develop your gem here.
|
13
|
+
# Include everything needed to run rake, tests, features, etc.
|
14
|
+
group :development do
|
15
|
+
gem "rspec", "~> 2.8.0"
|
16
|
+
gem "rdoc", "~> 3.12"
|
17
|
+
gem "bundler", "~> 1.0"
|
18
|
+
gem "jeweler", "~> 2.0.1"
|
19
|
+
gem "simplecov", ">= 0"
|
20
|
+
end
|
21
|
+
|
22
|
+
|
data/LICENSE
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
Copyright (c) 2015 Asnioby Hdez
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without modification,
|
5
|
+
are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
* Redistributions of source code must retain the above copyright notice,
|
8
|
+
this list of conditions and the following disclaimer.
|
9
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
10
|
+
this list of conditions and the following disclaimer in the documentation
|
11
|
+
and/or other materials provided with the distribution.
|
12
|
+
* Neither the name Spree nor the names of its contributors may be used to
|
13
|
+
endorse or promote products derived from this software without specific
|
14
|
+
prior written permission.
|
15
|
+
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
20
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
21
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
22
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
23
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
24
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
25
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
26
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,330 @@
|
|
1
|
+
This is a new Shared Collection (integration settgings) to be use in Cenit, named cenit-collection-super.
|
2
|
+
|
3
|
+
Cenit is an open source social platform as a service for data and business integration.
|
4
|
+
|
5
|
+
# CenitCollectionSuper
|
6
|
+
|
7
|
+
You'll find the files you need to be able to package up your Collection library into a gem. To experiment with that collection use `rake console` for an interactive prompt.
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'cenit-collection-super'
|
15
|
+
```
|
16
|
+
|
17
|
+
And then execute:
|
18
|
+
|
19
|
+
$ bundle
|
20
|
+
|
21
|
+
Or install it yourself as:
|
22
|
+
|
23
|
+
$ gem install cenit-collection-super
|
24
|
+
|
25
|
+
### Structure
|
26
|
+
|
27
|
+
```
|
28
|
+
% tree
|
29
|
+
.
|
30
|
+
├── cenit-collection-cenit-collection-super.gemspec
|
31
|
+
├── Gemfile
|
32
|
+
├── .gitignore
|
33
|
+
├── .rspec
|
34
|
+
├── README.md
|
35
|
+
├── Rakefile
|
36
|
+
├── LICENSE
|
37
|
+
└── lib
|
38
|
+
└── cenit
|
39
|
+
└── collection
|
40
|
+
└── cenit-collection-super
|
41
|
+
└── connections
|
42
|
+
└── webhooks
|
43
|
+
└── connection_sets
|
44
|
+
└── translators
|
45
|
+
└── events
|
46
|
+
└── flows
|
47
|
+
└── libraries
|
48
|
+
└── index.json
|
49
|
+
└── build.rb
|
50
|
+
└── version.rb
|
51
|
+
└── cenit-collection-super.rb
|
52
|
+
└── spec
|
53
|
+
└── cenit
|
54
|
+
└── collection
|
55
|
+
└── cenit-collection-super_spec.rb
|
56
|
+
└── spec_helper.rb
|
57
|
+
└── support
|
58
|
+
└── samples
|
59
|
+
```
|
60
|
+
|
61
|
+
### Upload your Shared Collection to Cenit Hub.
|
62
|
+
|
63
|
+
run `rake console`
|
64
|
+
|
65
|
+
Configure your Cenithub Client API
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
config = {push_url: 'https://www.cenithub.com/api/v1/push',connection_key: 'My Conn Key',connection_token: 'My Conn Token'}
|
69
|
+
```
|
70
|
+
OR
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
config = {push_url: 'https://www.cenithub.com/api/v1/push',user_key: 'My User Key',user_token: 'My User Token'}
|
74
|
+
```
|
75
|
+
Show Hash Collection
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
Cenit::Collection::Super.show_collection(config)
|
79
|
+
```
|
80
|
+
|
81
|
+
Load Shared Collection into CenitHub
|
82
|
+
|
83
|
+
```ruby
|
84
|
+
Cenit::Collection::Super.push_collection(config)
|
85
|
+
```
|
86
|
+
|
87
|
+
Setup Shared Collection into CenitHub
|
88
|
+
|
89
|
+
```ruby
|
90
|
+
Cenit::Collection::Super.pull_collection(config)
|
91
|
+
```
|
92
|
+
Push sample data into Cenithub
|
93
|
+
|
94
|
+
```ruby
|
95
|
+
Cenit::Collection::Super.push_sample(config)
|
96
|
+
```
|
97
|
+
## Hello, rake tasks
|
98
|
+
|
99
|
+
Beyond just editing source code, you'll be interacting with your gem using `rake` a lot. To see all the tasks available with a brief description, you can run:
|
100
|
+
|
101
|
+
$ rake -T
|
102
|
+
|
103
|
+
You'll need a version before you can start installing your gem locally. The easiest way is with the `version:write` Rake task. Let's imagine you start with 0.1.0
|
104
|
+
|
105
|
+
$ rake version:write MAJOR=0 MINOR=1 PATCH=0
|
106
|
+
|
107
|
+
You can now go forth and develop, now that there's an initial version defined. Eventually, you should install and test the gem:
|
108
|
+
|
109
|
+
$ rake install
|
110
|
+
|
111
|
+
The `install` rake task builds the gem and `gem install`s it. You're all set if you're using [RVM](http://rvm.beginrescueend.com/), but you may need to run it with sudo if you have a system-installed ruby:
|
112
|
+
|
113
|
+
$ sudo rake install
|
114
|
+
|
115
|
+
### Create Git and Github repos
|
116
|
+
|
117
|
+
$ rake create_git_and_github_repo
|
118
|
+
|
119
|
+
### Releasing
|
120
|
+
|
121
|
+
At last, it's time to [ship it](http://shipitsquirrel.github.com/)! Make sure you have everything committed and pushed, then go wild:
|
122
|
+
|
123
|
+
$ rake release
|
124
|
+
|
125
|
+
This will automatically:
|
126
|
+
|
127
|
+
* Generate `hello-gem.gemspec` and commit it
|
128
|
+
* Use `git` to tag `v0.1.0` and push it
|
129
|
+
* Build `hello-gem-0.1.0.gem` and push it to [rubygems.org](http://rubygems.org/gems/)
|
130
|
+
|
131
|
+
`rake release` accepts REMOTE(default: `origin`), LOCAL_BRANCH(default: `master`), REMOTE_BRANCH(default: `master`) and BRANCH(default: master)as options.
|
132
|
+
|
133
|
+
$ rake release REMOTE=upstream LOCAL_BRANCH=critical-security-fix REMOTE_BRANCH=v3
|
134
|
+
|
135
|
+
This will tag and push the commits on your local branch named `critical-security-fix` to branch named `v3` in remote named `upstream` (if you have commit rights
|
136
|
+
on `upstream`) and release the gem.
|
137
|
+
|
138
|
+
$ rake release BRANCH=v3
|
139
|
+
|
140
|
+
If both remote and local branches are the same, use `BRANCH` option to simplify.
|
141
|
+
This will tag and push the commits on your local branch named `v3` to branch named `v3` in remote named `origin` (if you have commit rights
|
142
|
+
on `origin`) and release the gem.
|
143
|
+
|
144
|
+
### Version bumping
|
145
|
+
|
146
|
+
It feels good to release code. Do it, do it often. But before that, bump the version. Then release it. There's a few ways to update the version:
|
147
|
+
|
148
|
+
# version:write like before
|
149
|
+
$ rake version:write MAJOR=0 MINOR=3 PATCH=0
|
150
|
+
|
151
|
+
# bump just major, ie 0.1.0 -> 1.0.0
|
152
|
+
$ rake version:bump:major
|
153
|
+
|
154
|
+
# bump just minor, ie 0.1.0 -> 0.2.0
|
155
|
+
$ rake version:bump:minor
|
156
|
+
|
157
|
+
# bump just patch, ie 0.1.0 -> 0.1.1
|
158
|
+
$ rake version:bump:patch
|
159
|
+
|
160
|
+
Then it's the same `release` we used before:
|
161
|
+
|
162
|
+
$ rake release
|
163
|
+
|
164
|
+
## Customizing your gem
|
165
|
+
|
166
|
+
If you've been following along so far, your gem is just a blank slate. You're going to need to make it colorful and full of metadata.
|
167
|
+
|
168
|
+
You can customize your gem by updating your `Rakefile`. With a newly generated project, it will look something like this:
|
169
|
+
|
170
|
+
require 'jeweler'
|
171
|
+
Jeweler::Tasks.new do |gem|
|
172
|
+
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
|
173
|
+
gem.name = "whatwhatwhat"
|
174
|
+
gem.summary = %Q{TODO: one-line summary of your gem}
|
175
|
+
gem.description = %Q{TODO: longer description of your gem}
|
176
|
+
gem.email = "josh@technicalpickles.com"
|
177
|
+
gem.homepage = "http://github.com/technicalpickles/whatwhatwhat"
|
178
|
+
gem.authors = ["Joshua Nichols"]
|
179
|
+
end
|
180
|
+
Jeweler::RubygemsDotOrgTasks.new
|
181
|
+
|
182
|
+
It's crucial to understand the `gem` object is just a Gem::Specification. You can read up about it at [guides.rubygems.org/specification-reference](http://guides.rubygems.org/specification-reference/). This is the most basic way of specifying a gem, Jeweler-managed or not. Jeweler just exposes this to you, in addition to providing some reasonable defaults, which we'll explore now.
|
183
|
+
|
184
|
+
### Project information
|
185
|
+
|
186
|
+
gem.name = "whatwhatwhat"
|
187
|
+
|
188
|
+
Every gem has a name. Among other things, the gem name is how you are able to `gem install` it. [Reference](http://guides.rubygems.org/specification-reference/#name)
|
189
|
+
|
190
|
+
gem.summary = %Q{TODO: one-line summary of your gem}
|
191
|
+
|
192
|
+
This is a one line summary of your gem. This is displayed, for example, when you use `gem list --details` or view it on [rubygems.org](http://rubygems.org/gems/).
|
193
|
+
|
194
|
+
gem.description = %Q{TODO: longer description of your gem}
|
195
|
+
|
196
|
+
Description is a longer description. Scholars ascertain that knowledge of where the description is used was lost centuries ago.
|
197
|
+
|
198
|
+
gem.email = "josh@technicalpickles.com"
|
199
|
+
|
200
|
+
This should be a way to get a hold of you regarding the gem.
|
201
|
+
|
202
|
+
gem.homepage = "http://github.com/technicalpickles/whatwhatwhat"
|
203
|
+
|
204
|
+
The homepage should have more information about your gem. The jeweler generator guesses this based on the assumption your code lives on [GitHub](http://github.com/), using your Git configuration to find your GitHub username. This is displayed by `gem list --details` and on rubygems.org.
|
205
|
+
|
206
|
+
gem.authors = ["Joshua Nichols"]
|
207
|
+
|
208
|
+
Hey, this is you, the author (or me in this case). The `jeweler` generator also guesses this from your Git configuration. This is displayed by `gem list --details` and on rubygems.org.
|
209
|
+
|
210
|
+
### Files
|
211
|
+
|
212
|
+
The quickest way to add more files is to `git add` them. Jeweler uses your Git repository to populate your gem's files by including added and committed and excluding `.gitignore`d. In most cases, this is reasonable enough.
|
213
|
+
|
214
|
+
If you need to tweak the files, that's cool. Jeweler populates `gem.files` as a `Rake::FileList`. It's like a normal array, except you can `include` and `exclude` file globs:
|
215
|
+
|
216
|
+
gem.files.exclude 'tmp' # exclude temporary directory
|
217
|
+
gem.files.include 'lib/foo/bar.rb' # explicitly include lib/foo/bar.rb
|
218
|
+
|
219
|
+
If that's not enough, you can just set `gem.files` outright
|
220
|
+
|
221
|
+
gem.files = Dir.glob('lib/**/*.rb')
|
222
|
+
|
223
|
+
### Dependencies
|
224
|
+
|
225
|
+
Dependencies let you define other gems that your gem needs to function. `gem install your-gem` will install your-gem's dependencies along with it, and when you use your-gem in an application, the dependencies will be made available. Use `gem.add_dependency` to register them. [Reference](http://guides.rubygems.org/specification-reference/#add_development_dependency)
|
226
|
+
|
227
|
+
gem.add_dependency 'nokogiri'
|
228
|
+
|
229
|
+
This will ensure a version of `nokogiri` is installed, but it doesn't require anything more than that. You can provide extra args to be more specific:
|
230
|
+
|
231
|
+
gem.add_dependency 'nokogiri', '= 1.2.1' # exactly version 1.2.1
|
232
|
+
gem.add_dependency 'nokogiri', '>= 1.2.1' # greater than or equal to 1.2.1, ie, 1.2.1, 1.2.2, 1.3.0, 2.0.0, etc
|
233
|
+
gem.add_dependency 'nokogiri', '>= 1.2.1', '< 1.3.0' # greater than or equal to 1.2.1, but less than 1.3.0
|
234
|
+
gem.add_dependency 'nokogiri', '~> 1.2.1' # same thing, but more concise
|
235
|
+
|
236
|
+
When specifying which version is required, there's a bit of the condunrum. You want to allow the most versions possible, but you want to be sure they are compatible. Using `>= 1.2.1` is fine most of the time, except until the point that 2.0.0 comes out and totally breaks backwards the API. That's when it's good to use `~> 1.2.1`, which requires any version in the `1.2` family, starting with `1.2.1`.
|
237
|
+
|
238
|
+
### Executables
|
239
|
+
|
240
|
+
Executables let your gem install shell commands. Just put any executable scripts in the `bin/` directory, make sure they are added using `git`, and Jeweler will take care of the rest.
|
241
|
+
|
242
|
+
When you need more finely grained control over it, you can set it yourself:
|
243
|
+
|
244
|
+
gem.executables = ['foo'] # note, it's the file name relative to `bin/`, not the project root
|
245
|
+
|
246
|
+
### Versioning
|
247
|
+
|
248
|
+
We discussed earlier how to bump the version. The rake tasks are really just convience methods for manipulating the `VERSION` file. It just contains a version string, like `1.2.3`.
|
249
|
+
|
250
|
+
`VERSION` is a convention used by Jeweler, and is used to populate `gem.version`. You can actually set this yourself, and Jeweler won't try to override it:
|
251
|
+
|
252
|
+
gem.version = '1.2.3'
|
253
|
+
|
254
|
+
A common pattern is to have this in a version constant in your library. This is convenient, because users of the library can query the version they are using at runtime.
|
255
|
+
|
256
|
+
# in lib/foo/version.rb
|
257
|
+
class Foo
|
258
|
+
module Version
|
259
|
+
MAJOR = 1
|
260
|
+
MINOR = 2
|
261
|
+
PATCH = 3
|
262
|
+
BUILD = 'pre3'
|
263
|
+
|
264
|
+
STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
# in Rakefile
|
269
|
+
require 'jeweler'
|
270
|
+
require './lib/foo/version.rb'
|
271
|
+
Jeweler::Tasks.new do |gem|
|
272
|
+
# snip
|
273
|
+
gem.version = Foo::Version::STRING
|
274
|
+
end
|
275
|
+
|
276
|
+
## Development
|
277
|
+
|
278
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
|
279
|
+
|
280
|
+
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` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
281
|
+
|
282
|
+
## Contributing
|
283
|
+
|
284
|
+
1. Fork it ( https://github.com/[my-github-username]/cenit-collection-super/fork )
|
285
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
286
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
287
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
288
|
+
5. Create a new Pull Request
|
289
|
+
|
290
|
+
## Cenit
|
291
|
+
|
292
|
+
Cenit is an open source social platform as a service for data and business integration.
|
293
|
+
|
294
|
+
### What is
|
295
|
+
|
296
|
+
Cenit is a social platform as a service for data and business integration. It makes possible
|
297
|
+
the automation of all operational processes, connecting legacy apps and internet services.
|
298
|
+
|
299
|
+
### Why were doing this
|
300
|
+
|
301
|
+
A common story for companies is the blending of solutions around its core business value.
|
302
|
+
Features developed by them, third-party's adaptations and other SaaS to facilitate operations.
|
303
|
+
|
304
|
+
Once grown enough a new expansion requires a huge integration effort. But available integration
|
305
|
+
solutions are heavy process. Some of them also need B2B transactions using complex EDI standards
|
306
|
+
required for large companies or business sectors.
|
307
|
+
|
308
|
+
This facts overkill many companies that can’t overcome these challenges.
|
309
|
+
|
310
|
+
### General Feature
|
311
|
+
|
312
|
+
* 100% Open Source platform as a service (Open-PaaS).
|
313
|
+
* Hub with a great design that provides powerful yet simple abstractions, making a complex problem tractable.
|
314
|
+
* Primary concepts are: Data Type, Webhook, Flow, Event, Connection and Transform.
|
315
|
+
* Dynamic load schemas: XSD, JSON and EDI grammars.
|
316
|
+
* Powerful transform to translates and modified any formats to any format.
|
317
|
+
* Full Stack HTTP API and incremental API's helper libraries in several languages.
|
318
|
+
* Export and import integration settings (collections), and automatically saves its as a repo on github.
|
319
|
+
* Social networking features to share collections.
|
320
|
+
|
321
|
+
### Shared Collections
|
322
|
+
|
323
|
+
There are now over 25 pre-built shared integration collections out the box for connecting
|
324
|
+
to internet services, fulfilment solutions, accounting, communications, ERP, multi-channels, etc.
|
325
|
+
|
326
|
+
### Join us
|
327
|
+
|
328
|
+
* Github project: https://github.com/openjaf/cenit
|
329
|
+
* Email: support@cenitsaas.com
|
330
|
+
* Website: http://www.cenitsaas.com
|
data/Rakefile
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'bundler'
|
5
|
+
begin
|
6
|
+
Bundler.setup(:default, :development)
|
7
|
+
rescue Bundler::BundlerError => e
|
8
|
+
$stderr.puts e.message
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
+
exit e.status_code
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'rake'
|
14
|
+
require 'jeweler'
|
15
|
+
Jeweler::Tasks.new do |gem|
|
16
|
+
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
|
17
|
+
gem.name = 'cenit-collection-super'
|
18
|
+
gem.license = "MIT"
|
19
|
+
gem.summary = 'Shared Collection cenit-collection-super to be use in Cenit'
|
20
|
+
gem.description = 'Shared Collection cenit-collection-super to be use in Cenit'
|
21
|
+
gem.author = 'Asnioby Hdez'
|
22
|
+
gem.email = 'asnioby@gmail.com'
|
23
|
+
gem.homepage = 'https://github.com/asnioby/cenit-collection-super'
|
24
|
+
|
25
|
+
# dependencies defined in Gemfile
|
26
|
+
end
|
27
|
+
Jeweler::RubygemsDotOrgTasks.new
|
28
|
+
|
29
|
+
class Jeweler::Generator
|
30
|
+
def target_dir
|
31
|
+
'.'
|
32
|
+
end
|
33
|
+
def create_git_and_github_repo
|
34
|
+
create_version_control
|
35
|
+
create_and_push_repo
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
desc "create a new git and related GitHub's repository'"
|
40
|
+
task :create_repo do
|
41
|
+
options = {
|
42
|
+
project_name: 'cenit-collection-super',
|
43
|
+
user_name: 'Asnioby Hdez',
|
44
|
+
user_email: 'asnioby@gmail.com',
|
45
|
+
github_username: 'asnioby',
|
46
|
+
summary: 'Shared Collection cenit-collection-super to be use in Cenit',
|
47
|
+
description: 'Shared Collection cenit-collection-super to be use in Cenit',
|
48
|
+
homepage: 'https://github.com/asnioby/cenit-collection-super',
|
49
|
+
testing_framework: :rspec,
|
50
|
+
documentation_framework: :rdoc
|
51
|
+
}
|
52
|
+
g = Jeweler::Generator.new(options)
|
53
|
+
g.create_git_and_github_repo
|
54
|
+
end
|
55
|
+
|
56
|
+
require 'rspec/core'
|
57
|
+
require 'rspec/core/rake_task'
|
58
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
59
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
60
|
+
end
|
61
|
+
|
62
|
+
desc "Code coverage detail"
|
63
|
+
task :simplecov do
|
64
|
+
ENV['COVERAGE'] = "true"
|
65
|
+
Rake::Task['spec'].execute
|
66
|
+
end
|
67
|
+
|
68
|
+
task :default => :spec
|
69
|
+
|
70
|
+
require 'rdoc/task'
|
71
|
+
Rake::RDocTask.new do |rdoc|
|
72
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
73
|
+
|
74
|
+
rdoc.rdoc_dir = 'rdoc'
|
75
|
+
rdoc.title = "cenit-collection-super #{version}"
|
76
|
+
rdoc.rdoc_files.include('README*')
|
77
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
78
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require "cenit/collection/super/version"
|
2
|
+
|
3
|
+
module Cenit
|
4
|
+
module Collection
|
5
|
+
require "cenit/collection/super/build"
|
6
|
+
require "cenit/client"
|
7
|
+
|
8
|
+
# bundle exec irb -I lib -r 'cenit/collection/super'
|
9
|
+
# config = {:push_url => "https://www.cenithub.com/api/v1/push", :connection_token => "My Conn Token", :connection_key => "My Conn Key"}
|
10
|
+
# config = {:push_url => "https://www.cenithub.com/api/v1/push", :user_token => "My User Token", :user_key => "My User Key"}
|
11
|
+
# Cenit::Collection::Super.push_collection config
|
12
|
+
# Cenit::Collection::Super.shared_collection
|
13
|
+
|
14
|
+
@super = Cenit::Collection::Super::Build.new
|
15
|
+
|
16
|
+
# Include Collection Gem dependency
|
17
|
+
# require "cenit/collection/[My Dependency Collection]/build"
|
18
|
+
# Collection dependency
|
19
|
+
# @super.register_dep(Cenit::Collection::[My Dependency Collection]::Build.new)
|
20
|
+
|
21
|
+
def self.push_collection (config)
|
22
|
+
Cenit::Client.push(@super.shared_collection.to_json, config)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.show_collection
|
26
|
+
@super.shared_collection
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.pull_collection (parameters,config)
|
30
|
+
@super.shared_collection
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.push_sample(model, config)
|
34
|
+
Cenit::Client.push(@super.sample_data(model).to_json, config)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{
|
2
|
+
"name": "Twilio API Connection",
|
3
|
+
"url": "https://api.twilio.com/2010-04-01/Accounts/{{account_sid}}",
|
4
|
+
"headers": [
|
5
|
+
{
|
6
|
+
"key": "Accept-Charset:",
|
7
|
+
"value": "utf-8"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"key": "Accept",
|
11
|
+
"value": "application/json"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"key": "Authorization",
|
15
|
+
"value": "Basic {% base64 account_sid + ':' + auth_token %}"
|
16
|
+
}
|
17
|
+
],
|
18
|
+
"template_parameters": [
|
19
|
+
{
|
20
|
+
"key": "auth_token",
|
21
|
+
"value": "A"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"key": "account_sid",
|
25
|
+
"value": "B"
|
26
|
+
}
|
27
|
+
]
|
28
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"name": "Communication | SMS on created_at",
|
3
|
+
"_type": "Setup::Observer",
|
4
|
+
"triggers": "{\"created_at\":{\"0\":{\"o\":\"_not_null\",\"v\":[\"\",\"\",\"\"]}}}",
|
5
|
+
"data_type": {
|
6
|
+
"_reference": true,
|
7
|
+
"name": "Sms",
|
8
|
+
"schema": {
|
9
|
+
"_reference": true,
|
10
|
+
"uri": "sms.json",
|
11
|
+
"library": {
|
12
|
+
"_reference": true,
|
13
|
+
"name": "Communication"
|
14
|
+
}
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"name": "Send SMS with Twilio API",
|
3
|
+
"active": true,
|
4
|
+
"discard_events": false,
|
5
|
+
"data_type_scope": "Event source",
|
6
|
+
"last_trigger_timestamps": "2015-04-29T17:49:18+00:00",
|
7
|
+
"event": {
|
8
|
+
"_reference": true,
|
9
|
+
"name": "Communication | SMS on created_at"
|
10
|
+
},
|
11
|
+
"translator": {
|
12
|
+
"_reference": true,
|
13
|
+
"name": "SMS to Twilio API"
|
14
|
+
},
|
15
|
+
"webhook": {
|
16
|
+
"_reference": true,
|
17
|
+
"name": "Twilio API | Send SMS"
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
[{"name": "Library Name","file": "library_dir"}]
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{
|
2
|
+
"name": "SMS to Twilio API",
|
3
|
+
"type": "Export",
|
4
|
+
"style": "ruby",
|
5
|
+
"mime_type": "application/x-www-form-urlencoded",
|
6
|
+
"bulk_source": false,
|
7
|
+
"transformation": "\"Body=#{source.message}&To=#{source.phone}&From=#{source.from}\"",
|
8
|
+
"source_data_type": {
|
9
|
+
"_reference": true,
|
10
|
+
"name": "Sms",
|
11
|
+
"schema": {
|
12
|
+
"_reference": true,
|
13
|
+
"uri": "sms.json",
|
14
|
+
"library": {
|
15
|
+
"_reference": true,
|
16
|
+
"name": "Communication"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
|
3
|
+
module SimpleCov::Configuration
|
4
|
+
def clean_filters
|
5
|
+
@filters = []
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
SimpleCov.configure do
|
10
|
+
clean_filters
|
11
|
+
load_adapter 'test_frameworks'
|
12
|
+
end
|
13
|
+
|
14
|
+
ENV["COVERAGE"] && SimpleCov.start do
|
15
|
+
add_filter "/.rvm/"
|
16
|
+
end
|
17
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
18
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
19
|
+
|
20
|
+
require 'rspec'
|
21
|
+
require 'hello-gem'
|
22
|
+
|
23
|
+
require "cenit/collection/super/build"
|
24
|
+
require 'cenit/client'
|
25
|
+
|
26
|
+
# Requires supporting files with custom matchers and macros, etc,
|
27
|
+
# in ./support/ and its subdirectories.
|
28
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
29
|
+
|
30
|
+
RSpec.configure do |config|
|
31
|
+
|
32
|
+
# Infer an example group's spec type from the file location.
|
33
|
+
config.infer_spec_type_from_file_location!
|
34
|
+
|
35
|
+
config.mock_with :rspec
|
36
|
+
config.color = true
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,175 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cenit-collection-super
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Asnioby Hdez
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-05-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: cenit-collection-base
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: cenit-client
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: activesupport
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.8.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.8.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rdoc
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.12'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.12'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: jeweler
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.0.1
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.0.1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: Shared Collection cenit-collection-super to be use in Cenit
|
126
|
+
email: asnioby@gmail.com
|
127
|
+
executables: []
|
128
|
+
extensions: []
|
129
|
+
extra_rdoc_files:
|
130
|
+
- LICENSE
|
131
|
+
- README.md
|
132
|
+
files:
|
133
|
+
- ".rspec"
|
134
|
+
- Gemfile
|
135
|
+
- LICENSE
|
136
|
+
- README.md
|
137
|
+
- Rakefile
|
138
|
+
- VERSION
|
139
|
+
- lib/cenit/collection/super.rb
|
140
|
+
- lib/cenit/collection/super/build.rb
|
141
|
+
- lib/cenit/collection/super/connection_roles/twilio_api_rol.json
|
142
|
+
- lib/cenit/collection/super/connections/twilio_api_connection.json
|
143
|
+
- lib/cenit/collection/super/events/communication_sms_on_created_at.json
|
144
|
+
- lib/cenit/collection/super/flows/send_sms_with_twilio_api.json
|
145
|
+
- lib/cenit/collection/super/index.json
|
146
|
+
- lib/cenit/collection/super/libraries/index.json
|
147
|
+
- lib/cenit/collection/super/translators/sms_to_twilio_api.json
|
148
|
+
- lib/cenit/collection/super/version.rb
|
149
|
+
- lib/cenit/collection/super/webhooks/twilio_api_send_sms.json
|
150
|
+
- spec/spec_helper.rb
|
151
|
+
homepage: https://github.com/asnioby/cenit-collection-super
|
152
|
+
licenses:
|
153
|
+
- MIT
|
154
|
+
metadata: {}
|
155
|
+
post_install_message:
|
156
|
+
rdoc_options: []
|
157
|
+
require_paths:
|
158
|
+
- lib
|
159
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
requirements: []
|
170
|
+
rubyforge_project:
|
171
|
+
rubygems_version: 2.2.2
|
172
|
+
signing_key:
|
173
|
+
specification_version: 4
|
174
|
+
summary: Shared Collection cenit-collection-super to be use in Cenit
|
175
|
+
test_files: []
|