Module: Facemock::Config

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

Instance Method Summary collapse

Instance Method Details

#databaseObject



15
16
17
# File 'lib/facemock/config.rb', line 15

def database
  default_database
end

#default_databaseObject



11
12
13
# File 'lib/facemock/config.rb', line 11

def default_database
  Facemock::Database.new
end

#load_users(ymlfile) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/facemock/config.rb', line 24

def load_users(ymlfile)
  load_data = YAML.load_file(ymlfile)
  raise Facemock::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.app_id
    app_secret = data.app_secret
    users      = data.users

    # Validate data format
    raise Facemock::Errors::IncorrectDataFormat.new "app id is empty"     unless validate_id(app_id)
    raise Facemock::Errors::IncorrectDataFormat.new "app secret is empty" unless validate_secret(app_secret)
    raise Facemock::Errors::IncorrectDataFormat.new "users format is incorrect" unless validate_users(users)

    # Create application and user record
    app = Facemock::Application.create!({ id: app_id, secret: app_secret })
    users.each do |options|
      user = Facemock::User.new(options)
      unless Facemock::User.find_by_id(user.id)
        user.application_id = app.id
        user.save!
      end
    end
  end
end

#reset_databaseObject



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

def reset_database
  db = Facemock::Database.new
  db.drop
end