lib/dailycred.rb in dailycred-0.1.8 vs lib/dailycred.rb in dailycred-0.1.21
- old
+ new
@@ -1,85 +1,170 @@
-Dir[File.expand_path('../dailycred/*', __FILE__)].each { |f| require f }
\ No newline at end of file
+require "omniauth-dailycred/version"
+require "omniauth/strategies/dailycred"
+require "middleware/middleware"
+
+class Dailycred
+
+ attr_accessor :client_id, :secret_key, :options
+
+ # Initializes a dailycred object
+ # @param [String] client_id the client's daiycred client id
+ # @param [String] secret_key the clients secret key
+ # @param [Hash] opts a hash of options
+ def initialize(client_id, secret_key="", opts={})
+ @client_id = client_id
+ @secret_key = secret_key
+ @options = opts
+ end
+
+ URL = "https://www.dailycred.com"
+
+ # Generates a Dailycred event
+ # @param [String] user_id the user's dailycred user id
+ # @param [String] key the name of the event type
+ # @param [String] val the value of the event (optional)
+ def event(user_id, key, val="")
+ opts = {
+ :key => key,
+ :valuestring => val,
+ :user_id => user_id
+ }
+ post "/admin/api/customevent.json", opts
+ end
+
+ # Tag a user in dailycred
+ # @param [String] user_id the user's dailycred user id
+ # @param [String] tag the desired tag to add
+ def tag(user_id, tag)
+ opts = {
+ :user_id => user_id,
+ :tag => tag
+ }
+ post "/admin/api/user/tag.json", opts
+ end
+
+ # Untag a user in dailycred
+ # (see #tag)
+ def untag(user_id, tag)
+ opts = {
+ :user_id => user_id,
+ :tag => tag
+ }
+ post "/admin/api/user/untag.json", opts
+ end
+
+ private
+
+ def post(url, opts)
+ opts.merge! base_opts
+ p opts
+ response = get_conn.post url, opts
+ p response.body
+ end
+
+ def ssl_opts
+ opts = {}
+ p @options
+ p " ^^^^ @options "
+ if @options[:client_options] && @options[:client_options][:ssl]
+ opts[:ssl] = @options[:client_options][:ssl]
+ end
+ p opts
+ opts
+ end
+
+ def base_opts
+ {
+ :client_id => @client_id,
+ :client_secret => @secret_key
+ }
+ end
+
+ def get_conn
+ p ssl_opts
+ Faraday::Connection.new Dailycred::URL, ssl_opts
+ end
+end