flakey 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,2 @@
1
+ rvm:
2
+ - 1.9.3
data/Rakefile CHANGED
@@ -1,2 +1,8 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: :spec
data/flakey.gemspec CHANGED
@@ -16,4 +16,5 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Flakey::VERSION
17
17
 
18
18
  gem.add_development_dependency 'rspec'
19
+ gem.add_development_dependency 'rake'
19
20
  end
@@ -11,6 +11,7 @@ module Flakey
11
11
  class Configuration
12
12
  attr_accessor :default_twitter_handle, :default_tweet_hashtags,
13
13
  :default_tweet_via, :default_tweet_related,
14
+ :default_tweet_button_size, :default_tweet_button_class,
14
15
  :default_facebook_nickname, :facebook_app_id,
15
16
  :default_stackoverflow_nickname, :default_stackoverflow_user_id,
16
17
  :default_github_name, :plus_one_button_language
@@ -20,6 +21,7 @@ module Flakey
20
21
  self.default_tweet_hashtags = ''
21
22
  self.default_tweet_via = ''
22
23
  self.default_tweet_related = ''
24
+ self.default_tweet_button_class = "twitter-share-button"
23
25
 
24
26
  self.default_facebook_nickname = ''
25
27
 
@@ -1,15 +1,59 @@
1
+ # THis class is used to generate standard Twitter buttons as documented
2
+ # on the [Twitter developers site](https://twitter.com/about/resources/buttons).
3
+
1
4
  module Flakey
2
5
  module Twitter
3
6
 
4
- def twitter_handle(options = {})
5
- options[:handle] || Flakey.configuration.default_twitter_handle
7
+ # Get the default Twitter handle for this configuration. If a
8
+ # handle argument is supplied, it will be returned.
9
+ #
10
+ # twitter_handle
11
+ # # => The default handle.
12
+ #
13
+ # twitter_handle('peter')
14
+ # # => 'peter'
15
+ #
16
+ # Returns a string.
17
+ def twitter_handle(handle = nil)
18
+ handle || Flakey.configuration.default_twitter_handle
6
19
  end
7
20
 
8
- def twitter_url(options = {})
9
- handle = options[:handle] || twitter_handle
21
+ # Get the Twitter profile URL for a handle. If no handle is
22
+ # specified then this method returns the profile URL of the
23
+ # default handle.
24
+ #
25
+ # twitter_url
26
+ # # => "https://twitter.com/default
27
+ #
28
+ # twitter_url('peter')
29
+ # # => "https://twitter.com/peter"
30
+ #
31
+ # Returns a string.
32
+ def twitter_url(handle = nil)
33
+ handle = handle || twitter_handle
10
34
  "https://twitter.com/#{handle}"
11
35
  end
12
36
 
37
+ # Generate a tweet button. This method needs the Twitter JavaScript
38
+ # to be loaded on the page to work correctly.
39
+ #
40
+ # Takes a hash of options to use when generating the button.
41
+ #
42
+ # [+url+] The URL to tweet. Default to the current request url.
43
+ # [+text+] The textual body of the Tweet. Defaults to the current
44
+ # page title. This is a Twitter convention.
45
+ # [+hashtags+] A list of hashtags to include in the tweet.
46
+ # [+label+] The text to appear on the tweet button.
47
+ # [+via+] Tweet via an associated abbout. Defaults to the
48
+ # +default_tweet_via+ configuration setting.
49
+ # [+related+] A related Twitter handle. Defaults to the
50
+ # +default_tweet_related+ configuration setting.
51
+ # [+class+] HTML classes to apply to the Tweet button. Defaults
52
+ # to the +default_tweet_button_class+ configuration setting which
53
+ # is <i>"twitter-share-button"</i>.
54
+ # [+size+]
55
+ #
56
+ # Returns a HTML string.
13
57
  def tweet_button(options = {})
14
58
  url = options[:url] || request.url
15
59
  text = options[:text]
@@ -20,7 +64,10 @@ module Flakey
20
64
  Flakey.configuration.default_tweet_via
21
65
  related = options[:related] ||
22
66
  Flakey.configuration.default_tweet_related
23
- class_list = options[:class] || "twitter-share-button"
67
+ size = options[:size] ||
68
+ Flakey.configuration.default_tweet_button_size
69
+ class_list = options[:class] ||
70
+ Flakey.configuration.default_tweet_button_class
24
71
 
25
72
  data_attr = {
26
73
  :via => via,
@@ -30,6 +77,7 @@ module Flakey
30
77
  }
31
78
  # Twitter will take the page title if we just leave it out.
32
79
  data_attr.merge!(text: text) unless text.nil?
80
+ data_attr.merge!(size: size) unless size.nil?
33
81
 
34
82
  link_to label, "https://twitter.com/share",
35
83
  :class => class_list, :data => data_attr
@@ -1,3 +1,3 @@
1
1
  module Flakey
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,9 @@
1
- require "flakey"
1
+ require "flakey/configuration"
2
+ require "flakey/twitter"
3
+ require "flakey/facebook"
4
+ require "flakey/github"
5
+ require "flakey/google_plus"
6
+ require "flakey/stackoverflow"
2
7
 
3
8
  Flakey.configure do |c|
4
9
  c.default_twitter_handle = 'grinnick'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flakey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-27 00:00:00.000000000 Z
12
+ date: 2012-07-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70355785100020 !ruby/object:Gem::Requirement
16
+ requirement: &70265412068800 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,18 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70355785100020
24
+ version_requirements: *70265412068800
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &70265412068380 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70265412068380
25
36
  description: Social helpers for Rails apps.
26
37
  email:
27
38
  - dtuite@gmail.com
@@ -30,7 +41,7 @@ extensions: []
30
41
  extra_rdoc_files: []
31
42
  files:
32
43
  - .gitignore
33
- - .rspec
44
+ - .travis.yml
34
45
  - Gemfile
35
46
  - LICENSE
36
47
  - README.md
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color