comufy 0.0.2.pre2 → 0.0.3pre1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -6,7 +6,7 @@ This library allows customers to interact with the Comufy backend and perform co
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- gem 'comufyruby'
9
+ gem 'comufy'
10
10
 
11
11
  And then execute:
12
12
 
@@ -14,7 +14,7 @@ And then execute:
14
14
 
15
15
  Or install it yourself as:
16
16
 
17
- $ gem install comufyruby
17
+ $ gem install comufy
18
18
 
19
19
  ## Usage
20
20
 
@@ -1,12 +1,10 @@
1
1
  require 'comufy'
2
2
 
3
- USERNAME = ARGV[0]
4
- PASSWORD = ARGV[1]
5
- APPLICATION_NAME = ARGV[2]
6
- FACEBOOK_USER_ID = ARGV[3]
3
+ APPLICATION_NAME = ARGV[2]
4
+ FACEBOOK_USER_ID = ARGV[3]
7
5
 
8
- connect = Comufy.connect(logger: "debug", username: USERNAME, password: PASSWORD)
9
- tag = Array[{name: :other_details, type: Comufy::Connector::STRING_TYPE}]
6
+ connect = Comufy.new(logger: ARGV[0], yaml: ARGV[1])
7
+ tag = Array[{name: :other_details, type: Comufy::Constants::STRING_TYPE}]
10
8
  puts connect.register_tags(APPLICATION_NAME, tag)
11
9
 
12
10
  # register a tag!
data/lib/comufy/config.rb CHANGED
@@ -1,46 +1,33 @@
1
- module Comufy
1
+ class Comufy
2
2
  class Config
3
- include Comufy
4
3
 
5
4
  attr_reader :user, :password, :base_api_url
6
5
  attr_accessor :access_token, :expiry_time
7
6
 
8
7
  # Sets the environment settings for Comufy to send and receive messages.
9
- # @param [Hash] params - all are optional
10
- # [Object] staging - as long as this is a value other than false/nil it'll change the @base_api_url to 'staging'
11
- # [String] username - sets the username
12
- # [String] password - sets the password
13
- # [Object] no_env - as long as this is a value other than false/nil it'll not use environment values
14
- def initialize params = {}
15
- params = symbolize_keys(params)
8
+ # @param [Hash] opts - all are optional
9
+ # [String] username - sets the username
10
+ # [String] password - sets the password
11
+ # [String] token - sets the access token
12
+ # [String] time - sets the expiry time
13
+ # [String] url - sets the url
14
+ # [String] yaml - the absolute path to the yaml file to read, all previously mentioned options are valid
15
+ def initialize opts = {}
16
+ opts = Comufy.symbolize_keys(opts)
16
17
 
17
18
  begin
18
- yaml_location = params[:yaml] || File.join(File.dirname(__FILE__), "yaml/config.yaml")
19
- yaml = YAML.load_file(yaml_location)
20
- yaml = symbolize_keys(yaml)
19
+ yaml_location = opts.delete(:yaml)
20
+ yaml = YAML.load_file(yaml_location)
21
+ yaml = Comufy.symbolize_keys(yaml)
21
22
  rescue
22
- # TODO: should it check the ENV for the username and password?
23
23
  yaml = Hash.new()
24
24
  end
25
25
 
26
- user = params[:user]
27
- password = params[:password]
28
- no_env = params[:no_env]
29
- staging = params[:staging]
30
-
31
- if (user and not password) or (password and not user)
32
- raise "You must supply both a username and password."
33
- end
34
-
35
- @user = user || yaml.fetch(:config, {})['user']
36
- @password = password || yaml.fetch(:config, {})['password']
37
- @access_token = no_env ? nil : ENV.fetch('access_token', nil)
38
- @expiry_time = no_env ? nil : ENV.fetch('expiry_time', nil)
39
-
40
- staging ?
41
- @base_api_url = 'https://staging.comufy.com/xcoreweb/client' :
42
- @base_api_url = 'https://social.comufy.com/xcoreweb/client'
43
-
26
+ @user = yaml.delete(:user) || opts.delete(:user) || ENV.fetch('COMUFY_USER', nil)
27
+ @password = yaml.delete(:password) || opts.delete(:password) || ENV.fetch('COMUFY_PASSWORD', nil)
28
+ @access_token = yaml.delete(:token) || opts.delete(:token) || ENV.fetch('COMUFY_TOKEN', nil)
29
+ @expiry_time = yaml.delete(:time) || opts.delete(:time) || ENV.fetch('COMUFY_EXPIRY_TIME', nil)
30
+ @base_api_url = yaml.delete(:url) || opts.delete(:url) || ENV.fetch('COMUFY_URL', 'http://www.sociableapi.com/xcoreweb/client')
44
31
  end
45
32
  end
46
33
  end
@@ -0,0 +1,15 @@
1
+ class Comufy::Constants
2
+
3
+ # values types for TYPE_TAG
4
+ STRING_TYPE = :STRING
5
+ DATE_TYPE = :DATE
6
+ GENDER_TYPE = :GENDER
7
+ INT_TYPE = :INT
8
+ FLOAT_TYPE = :FLOAT
9
+ LEGAL_TYPES = [STRING_TYPE, DATE_TYPE, GENDER_TYPE, INT_TYPE, FLOAT_TYPE]
10
+
11
+ # key choices for tags
12
+ NAME_TAG = :name
13
+ TYPE_TAG = :type
14
+ LEGAL_TAGS = [NAME_TAG, TYPE_TAG]
15
+ end
@@ -1,3 +1,3 @@
1
- module Comufy
2
- VERSION = "0.0.2.pre2"
1
+ class Comufy
2
+ VERSION = "0.0.3pre1"
3
3
  end