Module: Twimock::Config

Extended by:
Config
Included in:
Config
Defined in:
lib/twimock/config.rb

Constant Summary collapse

@@host =
"api.twimock.com"
@@port =
443
@@callback_url =
"http://localhost/auth/twiter/callback"

Instance Method Summary collapse

Instance Method Details

#databaseObject



23
24
25
# File 'lib/twimock/config.rb', line 23

def database
  default_database
end

#default_databaseObject



19
20
21
# File 'lib/twimock/config.rb', line 19

def default_database
  Twimock::Database.new
end

#load_users(ymlfile) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/twimock/config.rb', line 33

def load_users(ymlfile)
  load_data = YAML.load_file(ymlfile)
  raise Twimock::Errors::IncorrectDataFormat.new "data is not Array" unless load_data.kind_of?(Array)

  load_data.each do |app_data|
    data = Hashie::Mash.new(app_data)
    app_id     = data.id
    api_key    = data.api_key
    api_secret = data.api_secret
    users      = data.users

    # Validate data format
    [:id, :api_key, :api_secret, :users].each {|key| validate_format(key, data.send(key)) }
    users.each do |user|
      [:id, :name, :password].each {|key| validate_format(key, user.send(key)) }
    end

    # Create application and user record
    app = Twimock::Application.create!({ id: app_id, api_key: api_key, api_secret: api_secret })
    users.each do |options|
      access_token = AccessToken.new
      access_token.string = options.delete(:access_token)
      access_token.secret = options.delete(:access_token_secret)
      user = Twimock::User.new(options)
      user.save! unless Twimock::User.find_by_id(user.id)
      unless Twimock::AccessToken.find_by_string(access_token.string)
        access_token.user_id = user.id
        access_token.application_id = app_id
        access_token.save!
      end
    end
  end
end

#reset_databaseObject



27
28
29
30
31
# File 'lib/twimock/config.rb', line 27

def reset_database
  db = Twimock::Database.new
  db.disconnect!
  db.drop
end