jumpstart_auth 0.4.0 → 0.6.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94be99d7e11f19fa0f9e6bc3ad425636aa9c48e0
4
- data.tar.gz: a350f134aee0bdf802bf6fe197820dc1d452c709
3
+ metadata.gz: 564c382e6966f37f70bb71a8152427ba5ff2858b
4
+ data.tar.gz: 7f2ab6a710f2e73133a33bed88ae050c19d8dc52
5
5
  SHA512:
6
- metadata.gz: bb05064d202e0a9d0bc154e4ed63a8689c0989870a5c70ec90f8eaa74e7fe07c0d6a257ad1757ad8459ac04ebfae9f61dd86347b110c07abc0230b3e7dc68a85
7
- data.tar.gz: 5578bc5c4d5d3cdbfd1b003d91d89e527151e96432ee082c0460efee485788acf49c2815b4234a918f0dc071d7978da3e2073686e9da9c7ff6d07c31da20d019
6
+ metadata.gz: fa7572ce36e3fb11fe1ab88166bd507956035eca1572c39cc6cf852d1bf385edc129061496c8993bb6daa72b313d59aef389357e295b74b7268b91bd8bbf97be
7
+ data.tar.gz: 69b3a3f86cf1344263d24cb07e5c6076ef812f8d51deaf76940bd71efa9b443fa2d98b0fd9e92a02a39e0c9dde969aba07b53b65f92aca46e645a6aabb28b2a1
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  *.gem
2
3
  *.rbc
3
4
  .bundle
@@ -15,3 +16,15 @@ spec/reports
15
16
  test/tmp
16
17
  test/version_tmp
17
18
  tmp
19
+ *.bundle
20
+ *.so
21
+ *.o
22
+ *.a
23
+ mkmf.log
24
+
25
+ # files generated when using the gem
26
+ twitter_settings.yml
27
+
28
+ # common bundler paths for bundled gems
29
+ vendor/ruby/
30
+ vendor/cache/
data/Gemfile CHANGED
@@ -1,4 +1,9 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in jumpstart_auth.gemspec
3
+ # Specify your gem's dependencies in bundler_test_gem.gemspec
4
4
  gemspec
5
+
6
+
7
+ gem 'oauth'
8
+ gem 'twitter'
9
+ gem 'launchy'
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014 Jeff Casimir
1
+ Copyright (c) 2011 Jeff Casimir
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # JumpstartAuth
2
2
 
3
+ TODO: Write a gem description
4
+
3
5
  ## Installation
4
6
 
5
7
  Add this line to your application's Gemfile:
@@ -20,8 +22,8 @@ TODO: Write usage instructions here
20
22
 
21
23
  ## Contributing
22
24
 
23
- 1. Fork it
25
+ 1. Fork it ( https://github.com/jumpstartlab/jumpstart_auth/fork )
24
26
  2. Create your feature branch (`git checkout -b my-new-feature`)
25
27
  3. Commit your changes (`git commit -am 'Add some feature'`)
26
28
  4. Push to the branch (`git push origin my-new-feature`)
27
- 5. Create new Pull Request
29
+ 5. Create a new Pull Request
data/Rakefile CHANGED
@@ -1 +1,16 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ require 'rake/testtask'
4
+ Rake::TestTask.new(:test) do |test|
5
+ test.libs << 'lib' << 'test'
6
+ test.pattern = 'test/**/test_*.rb'
7
+ test.verbose = true
8
+ end
9
+
10
+ desc "Code coverage detail"
11
+ task :simplecov do
12
+ ENV['COVERAGE'] = "true"
13
+ Rake::Task['test'].execute
14
+ end
15
+
16
+ task :default => :test
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.5.0
@@ -7,20 +7,22 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "jumpstart_auth"
8
8
  spec.version = JumpstartAuth::VERSION
9
9
  spec.authors = ["Jeff Casimir"]
10
- spec.email = ["jeff@casimircreative.com"]
10
+ spec.email = ["jeff@jumpstartlab.com"]
11
+ spec.summary = "Authentication library support for JumpstartLab projects"
11
12
  spec.description = "Simplifies authenticating to online services."
12
- spec.summary = "Simplifies authenticating to online services."
13
13
  spec.homepage = "http://github.com/jumpstartlab/jumpstart_auth"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files`.split($/)
16
+ spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "bundler", "~> 1.6"
22
22
  spec.add_development_dependency "rake"
23
- spec.add_dependency 'oauth', "~> 0.4.7"
24
- spec.add_dependency 'twitter', "~> 5.7.1"
25
- spec.add_dependency 'launchy', "~> 2.4.2"
23
+ spec.add_development_dependency "shoulda"
24
+
25
+ spec.add_runtime_dependency 'oauth', '~> 0.4'
26
+ spec.add_runtime_dependency 'twitter', '~> 5.6'
27
+ spec.add_runtime_dependency 'launchy', '~> 2.4'
26
28
  end
@@ -1,78 +1,11 @@
1
- require 'oauth'
2
- require 'twitter'
3
- require 'launchy'
4
- require 'yaml'
1
+ require_relative 'jumpstart_auth/twitter_client'
2
+ require_relative 'jumpstart_auth/version'
5
3
 
6
- class JumpstartAuth
7
- @@credentials = {
8
- :consumer_key => "mJ5otbhPGNoDCgCL7j5g",
9
- :consumer_secret => "M0XkT6GeBnjxdlWHcSGYX1JutMVS9D5ISlkqRfShg"
10
- }
4
+ module JumpstartAuth
5
+ class << self
11
6
 
12
- def self.client_class
13
- @client_class ||= Class.new(Twitter::Client) do
14
- def followers
15
- Twitter.followers.all
16
- end
17
-
18
- def friends
19
- Twitter.friends.all
20
- end
21
-
22
- def update(message)
23
- if message.match(/^d\s/i) then
24
- d, name, *rest = message.chomp.split
25
- message.sub!(/.*#{name}\s/, '')
26
-
27
- begin
28
- Twitter.direct_message_create(name, message)
29
- rescue Twitter::Error::Forbidden
30
- end
31
- else
32
- super(message)
33
- end
34
- end
35
- end
36
- end
37
- private_class_method :client_class
38
-
39
- def self.twitter
40
- setup_oauth unless load_settings
41
- client = Twitter::REST::Client.new do |config|
42
- config.consumer_key = @@credentials[:consumer_key]
43
- config.consumer_secret = @@credentials[:consumer_secret]
44
- config.oauth_token = @@credentials[:oauth_token]
45
- config.oauth_token_secret = @@credentials[:oauth_secret]
7
+ def twitter
8
+ TwitterClient.twitter
46
9
  end
47
-
48
- return client
49
- end
50
-
51
- private
52
-
53
- def self.load_settings
54
- begin
55
- @@credentials = YAML.load(File.open("settings.yml", "r"))
56
- rescue
57
- false
58
- end
59
- end
60
-
61
- def self.write_settings
62
- settings = File.open("settings.yml", "w")
63
- settings << @@credentials.to_yaml
64
- settings.close
65
- end
66
-
67
- def self.setup_oauth
68
- consumer = OAuth::Consumer.new( @@credentials[:consumer_key], @@credentials[:consumer_secret], :site => "https://twitter.com")
69
- request_token = consumer.get_request_token
70
- printf "Enter the supplied pin: "
71
- Launchy.open(request_token.authorize_url)
72
- pin = gets.chomp
73
- access_token = request_token.get_access_token(:oauth_verifier => pin)
74
- @@credentials[:oauth_token] = access_token.token
75
- @@credentials[:oauth_secret] = access_token.secret
76
- write_settings
77
10
  end
78
11
  end
@@ -0,0 +1,89 @@
1
+ require 'oauth'
2
+ require 'twitter'
3
+ require 'launchy'
4
+ require 'yaml'
5
+
6
+ module JumpstartAuth
7
+ class TwitterClient < Twitter::REST::Client
8
+ @@credentials = {
9
+ :consumer_key => "mJ5otbhPGNoDCgCL7j5g",
10
+ :consumer_secret => "M0XkT6GeBnjxdlWHcSGYX1JutMVS9D5ISlkqRfShg"
11
+ }
12
+
13
+ SETTINGS_FILE = "twitter_settings.yml"
14
+
15
+ def followers
16
+ users(follower_ids)
17
+ end
18
+
19
+ def friends
20
+ users(friend_ids)
21
+ end
22
+
23
+ def update(message)
24
+ if message.match(/^d\s/i) then
25
+ _, name, * = message.chomp.split
26
+ message.sub!(/.*#{name}\s/, '')
27
+
28
+ begin
29
+ create_direct_message(name, message)
30
+ rescue Twitter::Error::Forbidden
31
+ end
32
+ else
33
+ super(message)
34
+ end
35
+ end
36
+
37
+ def self.twitter
38
+ credentials = (load_settings or setup_oauth)
39
+
40
+ new do |config|
41
+ config.consumer_key = credentials[:consumer_key]
42
+ config.consumer_secret = credentials[:consumer_secret]
43
+ config.access_token = credentials[:access_token]
44
+ config.access_token_secret = credentials[:access_token_secret]
45
+ end
46
+ end
47
+
48
+ private
49
+
50
+ def self.write_settings
51
+ settings = File.open(SETTINGS_FILE, "w")
52
+ settings << @@credentials.to_yaml
53
+ settings.close
54
+
55
+ @@credentials
56
+ end
57
+
58
+ def self.load_settings
59
+ return unless File.exist?(SETTINGS_FILE)
60
+
61
+ @@credentials = YAML.load(File.open(SETTINGS_FILE, "r"))
62
+ end
63
+
64
+ def self.setup_oauth
65
+ consumer = OAuth::Consumer.new( @@credentials[:consumer_key], @@credentials[:consumer_secret], :site => "https://twitter.com")
66
+ request_token = consumer.get_request_token
67
+ printf "Enter the supplied pin: "
68
+ Launchy.open(request_token.authorize_url)
69
+ pin = gets.chomp
70
+ access_token = request_token.get_access_token(:oauth_verifier => pin)
71
+ @@credentials[:access_token] = access_token.token
72
+ @@credentials[:access_token_secret] = access_token.secret
73
+
74
+ write_settings
75
+ end
76
+
77
+
78
+
79
+ def users(ids)
80
+ ids. each do |id|
81
+ begin
82
+ user(id)
83
+ rescue Twitter::Error::NotFound
84
+ puts "Twitter user #{id}, seems to not exist. Don't worry, we'll keep going"
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -1,3 +1,3 @@
1
1
  module JumpstartAuth
2
- VERSION = "0.4.0"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+ require 'shoulda'
12
+
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+ require 'jumpstart_auth'
16
+
17
+ class Test::Unit::TestCase
18
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestJumpstartAuth < Test::Unit::TestCase
4
+ should "probably rename this file and start testing for real" do
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
metadata CHANGED
@@ -1,102 +1,119 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jumpstart_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Casimir
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-21 00:00:00.000000000 Z
11
+ date: 2014-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.3'
26
+ version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: shoulda
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: oauth
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ~>
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: 0.4.7
61
+ version: '0.4'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ~>
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: 0.4.7
68
+ version: '0.4'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: twitter
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ~>
73
+ - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: 5.7.1
75
+ version: '5.6'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ~>
80
+ - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: 5.7.1
82
+ version: '5.6'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: launchy
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ~>
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: 2.4.2
89
+ version: '2.4'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ~>
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: 2.4.2
96
+ version: '2.4'
83
97
  description: Simplifies authenticating to online services.
84
98
  email:
85
- - jeff@casimircreative.com
99
+ - jeff@jumpstartlab.com
86
100
  executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
- - .document
91
- - .gitignore
104
+ - ".gitignore"
92
105
  - Gemfile
93
106
  - Gemfile.lock
94
107
  - LICENSE.txt
95
108
  - README.md
96
109
  - Rakefile
110
+ - VERSION
97
111
  - jumpstart_auth.gemspec
98
112
  - lib/jumpstart_auth.rb
113
+ - lib/jumpstart_auth/twitter_client.rb
99
114
  - lib/jumpstart_auth/version.rb
115
+ - test/helper.rb
116
+ - test/test_jumpstart_auth.rb
100
117
  homepage: http://github.com/jumpstartlab/jumpstart_auth
101
118
  licenses:
102
119
  - MIT
@@ -107,18 +124,20 @@ require_paths:
107
124
  - lib
108
125
  required_ruby_version: !ruby/object:Gem::Requirement
109
126
  requirements:
110
- - - '>='
127
+ - - ">="
111
128
  - !ruby/object:Gem::Version
112
129
  version: '0'
113
130
  required_rubygems_version: !ruby/object:Gem::Requirement
114
131
  requirements:
115
- - - '>='
132
+ - - ">="
116
133
  - !ruby/object:Gem::Version
117
134
  version: '0'
118
135
  requirements: []
119
136
  rubyforge_project:
120
- rubygems_version: 2.1.11
137
+ rubygems_version: 2.2.2
121
138
  signing_key:
122
139
  specification_version: 4
123
- summary: Simplifies authenticating to online services.
124
- test_files: []
140
+ summary: Authentication library support for JumpstartLab projects
141
+ test_files:
142
+ - test/helper.rb
143
+ - test/test_jumpstart_auth.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt