siriproxy-facebookstatus 0.0.3

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.
Binary file
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/.rvmrc ADDED
File without changes
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in siriproxy-facebookstatus.gemspec
4
+ gemspec
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,56 @@
1
+ require "siriproxy-facebookstatus/version"
2
+ require 'cora'
3
+ require 'siri_objects'
4
+ require 'httparty'
5
+ require 'json'
6
+
7
+ class SiriProxy::Plugin::Facebook < SiriProxy::Plugin
8
+ attr_accessor :access_token
9
+ attr_accessor :username
10
+
11
+ def initialize(config)
12
+ self.access_token = config["access_token"]
13
+ self.username = config["username"]
14
+ end
15
+
16
+
17
+ listen_for /facebook status (.+)/i do |facebookText|
18
+ say "Here is your status:"
19
+
20
+ # Preview of the Status update
21
+ object = SiriAddViews.new
22
+ object.make_root(last_ref_id)
23
+ answer = SiriAnswer.new("Facebook Status", [
24
+ SiriAnswerLine.new('logo','http://cl.ly/CXNm/Screen%20Shot%202011-12-11%20at%2011.26.52%20AM.png'), # facebook logo
25
+ SiriAnswerLine.new(facebookText)
26
+ ])
27
+ object.views << SiriAnswerSnippet.new([answer])
28
+ send_object object
29
+
30
+
31
+
32
+ if confirm "Ready to send it?"
33
+ say "Posting to Facebook..."
34
+ Thread.new {
35
+ begin
36
+ page = HTTParty.post(
37
+ "https://graph.facebook.com/me/feed",
38
+ :query => {
39
+ :message => (facebookText),
40
+ :access_token => (access_token)
41
+ }
42
+ )
43
+ say "Your status has been updated."
44
+ rescue Exception
45
+ pp $!
46
+ say "Sorry, I encountered an error: #{$!}"
47
+ ensure
48
+ request_completed
49
+ end
50
+ }
51
+ else
52
+ say "Ok I won't send it."
53
+ request_completed
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,5 @@
1
+ module Siriproxy
2
+ module Facebookstatus
3
+ VERSION = "0.0.3"
4
+ end
5
+ end
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "siriproxy-facebookstatus/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "siriproxy-facebookstatus"
7
+ s.version = Siriproxy::Facebookstatus::VERSION
8
+ s.authors = ["shabbirv"]
9
+ s.email = ["shabbirv@gmail.com"]
10
+ s.homepage = "http://shabz.co"
11
+ s.summary = %q{Facebook status is a Siri plugin.}
12
+ s.description = %q{This is a plugin that allows you to post to your Facebook wall using Siri.}
13
+
14
+ s.rubyforge_project = "siriproxy-facebookstatus"
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
+ # s.add_runtime_dependency "rest-client"
24
+ s.add_runtime_dependency "json"
25
+ s.add_runtime_dependency "httparty"
26
+ end
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: siriproxy-facebookstatus
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - shabbirv
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-12-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: &70312465408140 !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: *70312465408140
25
+ - !ruby/object:Gem::Dependency
26
+ name: httparty
27
+ requirement: &70312465407420 !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: *70312465407420
36
+ description: This is a plugin that allows you to post to your Facebook wall using
37
+ Siri.
38
+ email:
39
+ - shabbirv@gmail.com
40
+ executables: []
41
+ extensions: []
42
+ extra_rdoc_files: []
43
+ files:
44
+ - .DS_Store
45
+ - .gitignore
46
+ - .rvmrc
47
+ - Gemfile
48
+ - Rakefile
49
+ - lib/siriproxy-facebookstatus.rb
50
+ - lib/siriproxy-facebookstatus/version.rb
51
+ - siriproxy-facebookstatus.gemspec
52
+ homepage: http://shabz.co
53
+ licenses: []
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirements: []
71
+ rubyforge_project: siriproxy-facebookstatus
72
+ rubygems_version: 1.8.12
73
+ signing_key:
74
+ specification_version: 3
75
+ summary: Facebook status is a Siri plugin.
76
+ test_files: []