ruby-sendhub 0.0.1

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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in ruby-sendhub.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # ruby-sendhub
2
+
3
+ ruby-sendhub is a simple API wrapper for interacting with [SendHub API](http://www.sendhub.com/developer)
4
+
5
+ ##Installation
6
+
7
+ $ gem install ruby-sendhub
8
+
9
+ ##Requirements
10
+
11
+ A SendHub account. Get your API key [here](https://www.sendhub.com/settings)
12
+
13
+ ##Usage
14
+
15
+ Currently, only two methods are implemented as this is my first Gem ever. Woohoo! "cries"
16
+
17
+ Create a new instance of the API wrapper:
18
+
19
+ sh = SendHub.new("your_api_key", "your_number")
20
+
21
+ Now you grab the contacts you have. You need the contact id to send any message
22
+
23
+ sh.get_contacts
24
+
25
+ Once you grabbed the contacts you can send messages to the contact(s) by
26
+
27
+ sh.send_message("Your message here", *id)
28
+
29
+ ##Special Thanks
30
+
31
+ * My mom and dad, seriously, first gem you know
32
+ * [Amro Mousa](https://github.com/amro) for his source code on Gibbon which inspired this code
33
+
34
+ ##License
35
+
36
+ No time for this, just do whatever you want
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,5 @@
1
+ module Ruby
2
+ module Sendhub
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,38 @@
1
+ require "ruby-sendhub/version"
2
+ require 'httparty'
3
+ require 'json'
4
+
5
+ class SendHub
6
+ include HTTParty
7
+
8
+ attr_accessor :api_key, :number
9
+
10
+ headers "Content-Type" => "application/json"
11
+
12
+ def initialize(api_key = nil, number = nil)
13
+ @number = number
14
+ @api_key = api_key
15
+ end
16
+
17
+ def get_contacts
18
+ c = self.class.get base_url + "contacts" + credentials
19
+ c.parsed_response['objects']
20
+ end
21
+
22
+ def send_message(message, *args)
23
+ api_url = base_url + "messages" + credentials
24
+ m = { :contacts => args, :text => message }
25
+ self.class.post(api_url, :body => m.to_json)
26
+ end
27
+
28
+ private
29
+
30
+ def base_url
31
+ "https://api.sendhub.com/v1/"
32
+ end
33
+
34
+ def credentials
35
+ "/?username=#{number}&api_key=#{api_key}"
36
+ end
37
+
38
+ end
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "ruby-sendhub/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "ruby-sendhub"
7
+ s.version = Ruby::Sendhub::VERSION
8
+ s.authors = ["SoonKhen OwYong"]
9
+ s.email = ["dude@owyong.sk"]
10
+ s.homepage = "https://github.com/skowyong/ruby-sendhub"
11
+ s.summary = %q{A simple Ruby wrapper for SendHub API}
12
+ s.description = %q{My first gem and no tests yet. Ruby wrapper for SendHub API}
13
+
14
+ s.rubyforge_project = "ruby-sendhub"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+
24
+ s.add_runtime_dependency "httparty"
25
+ s.add_runtime_dependency "json"
26
+ end
metadata ADDED
@@ -0,0 +1,74 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby-sendhub
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - SoonKhen OwYong
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: &14589000 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *14589000
25
+ - !ruby/object:Gem::Dependency
26
+ name: json
27
+ requirement: &14588400 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *14588400
36
+ description: My first gem and no tests yet. Ruby wrapper for SendHub API
37
+ email:
38
+ - dude@owyong.sk
39
+ executables: []
40
+ extensions: []
41
+ extra_rdoc_files: []
42
+ files:
43
+ - .gitignore
44
+ - Gemfile
45
+ - README.md
46
+ - Rakefile
47
+ - lib/ruby-sendhub.rb
48
+ - lib/ruby-sendhub/version.rb
49
+ - ruby-sendhub.gemspec
50
+ homepage: https://github.com/skowyong/ruby-sendhub
51
+ licenses: []
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubyforge_project: ruby-sendhub
70
+ rubygems_version: 1.8.17
71
+ signing_key:
72
+ specification_version: 3
73
+ summary: A simple Ruby wrapper for SendHub API
74
+ test_files: []