Sha256: c691fb8c75a0442baa27f4287c53aad5a8ef5901cc0fc91bb05b335e82e93100

Contents?: true

Size: 1.01 KB

Versions: 4

Compression:

Stored size: 1.01 KB

Contents

require "launchy"
require "oauth"
require "yaml"

module AllTweets
  class Settings
    INITIAL_SETTINGS = {
      consumer_key: "GyRoi6Jx4T4olW1Rfwgfaa5kv",
      consumer_secret: "OHx2XugBhtg7kuI4yaPANXh3rplREN0Si8CoLzVWYpkeDyH3NJ",
    }

    def initialize(filename = File.expand_path('~/.alltweets'))
      @filename = filename
      @settings = load_file
    end

    attr_reader :filename

    %i[consumer_key consumer_secret access_token access_token_secret].each do |name|
      define_method(name) do
        @settings[name]
      end
    end

    def add_access_tokens(access_token, access_token_secret)
      @settings[:access_token] = access_token
      @settings[:access_token_secret] = access_token_secret
      dump_file
    end

    def exist?
      FileTest.exist?(@filename)
    end

    private
    def load_file
      return INITIAL_SETTINGS unless exist?

      YAML.load_file(@filename)
    end

    def dump_file
      open(@filename, "w") do |f|
        YAML.dump(@settings, f)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alltweets-1.0.2 lib/alltweets/settings.rb
alltweets-1.0.1 lib/alltweets/settings.rb
alltweets-1.0.0 lib/alltweets/settings.rb
alltweets-0.1.3 lib/alltweets/settings.rb