class HappySeed::Generators::TwitterGenerator

Public Class Methods

fingerprint() click to toggle source
# File lib/generators/happy_seed/twitter/twitter_generator.rb, line 10
def self.fingerprint
  gem_available?( 'omniauth-twitter' )
end

Protected Class Methods

next_migration_number(dir) click to toggle source
# File lib/generators/happy_seed/twitter/twitter_generator.rb, line 44
def self.next_migration_number(dir)
  Time.now.utc.strftime("%Y%m%d%H%M%S")
end

Public Instance Methods

install_twitter() click to toggle source
# File lib/generators/happy_seed/twitter/twitter_generator.rb, line 14
  def install_twitter
    return if already_installed

    require_generator OmniauthGenerator

    gem 'omniauth-twitter'
    gem 'twitter'

    Bundler.with_clean_env do
      run "bundle install --without production"
    end

    add_omniauth :twitter

    directory "docs"
    directory "spec"
    insert_into_file "app/models/identity.rb", "      identity.secrettoken = auth.credentials.secret\n", after: "identity.accesstoken = auth.credentials.token\n"
    migration_template("add_secret_token_to_identity.rb", "db/migrate/add_secret_token_to_identity.rb" )

    gsub_file( "app/models/user.rb", "Twitter.client( access_token: twitter.accesstoken )",
"Twitter::REST::Client.new do |config|
  config.consumer_key        = ENV['TWITTER_APP_ID']
  config.consumer_secret     = ENV['TWITTER_APP_SECRET']
  config.access_token        = twitter.accesstoken
  config.access_token_secret = twitter.secrettoken
end")
  end