qui 0.8.3 → 0.8.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ffd27296d3bff42cfbef8c24ff703783d284844c
4
- data.tar.gz: c6d3e4aee9b4c78381338cbd61130155e2df5bfa
3
+ metadata.gz: 33ced5ed8190bac66954a479a646fe54be968162
4
+ data.tar.gz: ab2286b5efc9c26bb52d31278f33c4ef61ab19c1
5
5
  SHA512:
6
- metadata.gz: 8c6e08d3cfff6b68f28293dfd390f0faaf8d4976ebc2389c5bbf80488969e8fdfa8b8611317ce4aacdd8d2a0c1984f671f964e934c28eb89a2e9f6663740bbee
7
- data.tar.gz: 4ea45381b357dd9d0521702468ce4c8088b2b7e2508bb6e593014f1a23815426e86e625991b3b39afa91dc42ba1041b7744b2640d94f179cc52754ca32f3c45e
6
+ metadata.gz: e123202253baca94111462b049c8c511848f7271bc08c0b8892170648f6dbdd19e356a5f19d7391f54287955ef3d935ce1b6a786e565bbe807df7f2e073ecf25
7
+ data.tar.gz: e8d75deef63de86c07423d30cf9309d39ae410631764b295991bf0014258deecd1580a5240515255bcb50a37a5599746300822bd0a468ee6300b8664a73c32b2
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Qui
2
2
 
3
- TODO: Write a gem description
3
+ Qui, or Queuemetrics User Integration, is a gem that creates an ActiveRecord wrapper for manipulating users, agents, and queues within the Queuemetrics calling platform.
4
4
 
5
5
  ## Installation
6
6
 
@@ -16,13 +16,29 @@ Or install it yourself as:
16
16
 
17
17
  $ gem install qui
18
18
 
19
- ## Description
19
+ ## Usage
20
20
 
21
- Qui, or Queuemetrics User Integration, is a gem that creates an ActiveRecord wrapper for manipulating users, agents, and queues within the Queuemetrics calling platform.
21
+ First, connect to your Queuemetrics database:
22
22
 
23
- ## Usage
23
+ Qui::Base.new("192.168.1.100","username","password")
24
+
25
+ Then simply create users, agents and queues using QueuemetricsAgent, QueuemetricsUser, and QueuemetricsQueue - all inhereit from ActiveRecord::Base.
26
+
27
+ User:
28
+
29
+ u = Qui::User.new(login: "Agent/5555", password: "superSECRET", real_name: "Robert Weathers", classe: 4)
30
+ u.save
31
+
32
+ Agent:
33
+
34
+ a = Qui::Agent.new(agent_name: "Agent/5555", agent_description: "rweathers", supervised_by: "Mr. Smith")
35
+ a.save
36
+
37
+ You can add queues using ActiveRecord, but can also add or remove agents from queues like below:
24
38
 
25
- TODO: Write usage instructions here
39
+ q = Qui::Queue.first
40
+ q.add_agent!("Agent/5555")
41
+ q.remove_agent!("Agent/4445")
26
42
 
27
43
  ## Contributing
28
44
 
@@ -1,8 +1,16 @@
1
- class QueuemetricsAgent < ActiveRecord::Base
2
- self.table_name = 'agenti_noti'
1
+ module Qui
2
+ class Agent < ActiveRecord::Base
3
+ self.table_name = 'agenti_noti'
3
4
 
4
- def initialize(options={})
5
- if options then
5
+ def initialize(options={})
6
+ if options then
7
+ super set_defaults(options)
8
+ else
9
+ super
10
+ end
11
+ end
12
+
13
+ def set_defaults(options)
6
14
  if options[:agent_name] then options[:nome_agente] = options.delete(:agent_name) end
7
15
  if options[:agent_description] then options[:descr_agente] = options.delete(:agent_description) end
8
16
  options[:location] = 3
@@ -14,10 +22,7 @@ class QueuemetricsAgent < ActiveRecord::Base
14
22
  options[:payroll_code] = " "
15
23
  options[:chiave_agente] = " "
16
24
  options[:sys_dt_modifica] = Time.now.to_s(:db)
17
- super(options)
18
- else
19
- super
20
25
  end
26
+
21
27
  end
22
-
23
28
  end
data/lib/qui/base.rb ADDED
@@ -0,0 +1,22 @@
1
+ require 'active_record'
2
+
3
+ module Qui
4
+ class Base
5
+
6
+ def self.establish_connection(host, username, password)
7
+ connection = {
8
+ :adapter => "mysql2",
9
+ :host => host,
10
+ :database => "queuemetrics",
11
+ :username => username,
12
+ :password => password,
13
+ }
14
+ ActiveRecord::Base.establish_connection connection
15
+ end
16
+
17
+ def self.close_connection
18
+ ActiveRecord::Base.connection.close
19
+ end
20
+
21
+ end
22
+ end
data/lib/qui/queue.rb ADDED
@@ -0,0 +1,36 @@
1
+ module Qui
2
+ class Queue < ActiveRecord::Base
3
+ self.table_name = 'code_possibili'
4
+
5
+ def initialize(options={})
6
+ super(options)
7
+ end
8
+
9
+ def add_agent!(userid)
10
+ if exists_in_queue?(userid) then
11
+ false
12
+ else
13
+ self.agenti_membri += "|#{userid}"
14
+ self.save
15
+ end
16
+ end
17
+
18
+ def remove_agent!(userid)
19
+ if exists_in_queue?(userid) then
20
+ members = self.agenti_membri.split("|")
21
+ members.delete userid
22
+ self.agenti_membri = members.join("|")
23
+ self.save
24
+ else
25
+ false
26
+ end
27
+ end
28
+
29
+ private
30
+
31
+ def exists_in_queue?(userid)
32
+ if self.agenti_membri.include?(userid) then true else false end
33
+ end
34
+
35
+ end
36
+ end
data/lib/qui/user.rb ADDED
@@ -0,0 +1,26 @@
1
+ module Qui
2
+ class User < ActiveRecord::Base
3
+ self.table_name = 'arch_users'
4
+
5
+ def initialize(options={})
6
+ if options then
7
+ super set_defaults(options)
8
+ else
9
+ super
10
+ end
11
+ end
12
+
13
+ private
14
+
15
+ def set_defaults(options)
16
+ options[:abilitato] = "1"
17
+ options[:masterkey] = "0"
18
+ options[:n_logon] = "0"
19
+ options[:chiavi_utente] = " "
20
+ options[:ultimo_logon] = Time.now.to_s(:db)
21
+ options[:sys_dt_creazione] = Time.now.to_s(:db)
22
+ options[:sys_dt_modifica] = Time.now.to_s(:db)
23
+ end
24
+
25
+ end
26
+ end
data/lib/qui.rb CHANGED
@@ -2,10 +2,9 @@
2
2
  require "active_record"
3
3
 
4
4
  #classes
5
- require "qui/version"
6
- require "qui/queuemetrics"
7
- require "qui/queuemetrics_user"
8
- require "qui/queuemetrics_agent"
9
- require "qui/queuemetrics_queue"
5
+ require "qui/base"
6
+ require "qui/user"
7
+ require "qui/agent"
8
+ require "qui/queue"
10
9
 
11
10
  module Qui end
data/qui.gemspec CHANGED
@@ -1,15 +1,18 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'qui/version'
4
+ require 'qui/base'
5
+ require 'qui/agent'
6
+ require 'qui/user'
7
+ require 'qui/queue'
5
8
 
6
9
  Gem::Specification.new do |spec|
7
10
  spec.name = "qui"
8
- spec.version = Qui::VERSION
11
+ spec.version = "0.8.5"
9
12
  spec.authors = ["Kevin Collette"]
10
13
  spec.email = ["kevcollette@gmail.com"]
11
14
  spec.description = %q{Qui, or Queuemetrics User Integration, is a gem that creates an ActiveRecord wrapper for manipulating users, agents, and queues within the Queuemetrics calling platform.}
12
- spec.summary = %q{Qui creates and manages Queuemetrics users.}
15
+ spec.summary = %q{Qui creates and manages Queuemetrics users and queues.}
13
16
  spec.homepage = ""
14
17
  spec.license = "MIT"
15
18
 
@@ -0,0 +1,13 @@
1
+ require 'active_record'
2
+ require 'qui/base'
3
+ require 'qui/agent'
4
+
5
+ describe Qui::Agent do
6
+
7
+ it "should wrap ActiveRecord" do
8
+ #@q = YAML::load_file(File.join(__dir__, 'config.yml'))
9
+ #Qui::Base.establish_connection(@q["host"], @q["username"], @q["password"])
10
+ Qui::Agent.superclass.should == ActiveRecord::Base
11
+ end
12
+
13
+ end
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
  require 'yaml'
3
- require 'qui/queuemetrics'
4
- require 'qui/queuemetrics_agent'
3
+ require 'qui/base'
4
+ require 'qui/agent'
5
5
  require 'active_record'
6
6
 
7
- describe Queuemetrics do
7
+ describe Qui::Base do
8
8
 
9
9
  before do
10
10
  @q = YAML::load_file(File.join(__dir__, 'config.yml'))
@@ -13,7 +13,7 @@ describe Queuemetrics do
13
13
  #connected? returns opposite bool
14
14
  describe ".establish_connection" do
15
15
  it "establishes a connection to a Queuemetrics database." do
16
- Queuemetrics.establish_connection(@q["host"], @q["username"], @q["password"])
16
+ Qui::Base.establish_connection(@q["host"], @q["username"], @q["password"])
17
17
  ActiveRecord::Base.connected?.should be_false
18
18
  ActiveRecord::Base.connection.current_database.should eq("queuemetrics")
19
19
  end
@@ -21,7 +21,7 @@ describe Queuemetrics do
21
21
 
22
22
  describe ".close_connection" do
23
23
  it "closes a connection to the Queuemetrics database." do
24
- Queuemetrics.close_connection
24
+ Qui::Base.close_connection
25
25
  ActiveRecord::Base.connected?.should be_true
26
26
  end
27
27
  end
@@ -1,18 +1,18 @@
1
1
  require 'spec_helper'
2
- require 'qui/queuemetrics'
3
- require 'qui/queuemetrics_queue'
2
+ require 'qui/base'
3
+ require 'qui/queue'
4
4
 
5
- describe QueuemetricsQueue do
5
+ describe Qui::Queue do
6
6
 
7
7
  before do
8
- @queue = QueuemetricsQueue.first
8
+ @queue = Qui::Queue.first
9
9
  @userid = 'agent/128461849'
10
10
  end
11
11
 
12
12
  it "should wrap ActiveRecord" do
13
- @q = YAML::load_file(File.join(__dir__, 'config.yml'))
14
- Queuemetrics.establish_connection(@q["host"], @q["username"], @q["password"])
15
- QueuemetricsQueue.superclass.should == ActiveRecord::Base
13
+ # @q = YAML::load_file(File.join(__dir__, 'config.yml'))
14
+ # Qui::Base.establish_connection(@q["host"], @q["username"], @q["password"])
15
+ Qui::Queue.superclass.should == ActiveRecord::Base
16
16
  end
17
17
 
18
18
  describe ".add_agent!" do
@@ -0,0 +1,13 @@
1
+ require 'active_record'
2
+ require 'qui/base'
3
+ require 'qui/user'
4
+
5
+ describe Qui::User do
6
+
7
+ it "should wrap ActiveRecord" do
8
+ # @q = YAML::load_file(File.join(__dir__, 'config.yml'))
9
+ # Queuemetrics.establish_connection(@q["host"], @q["username"], @q["password"])
10
+ Qui::User.superclass.should == ActiveRecord::Base
11
+ end
12
+
13
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Collette
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-15 00:00:00.000000000 Z
11
+ date: 2013-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -83,18 +83,16 @@ files:
83
83
  - README.md
84
84
  - Rakefile
85
85
  - lib/qui.rb
86
- - lib/qui/queuemetrics.rb
87
- - lib/qui/queuemetrics_agent.rb
88
- - lib/qui/queuemetrics_queue.rb
89
- - lib/qui/queuemetrics_record.rb
90
- - lib/qui/queuemetrics_user.rb
91
- - lib/qui/version.rb
86
+ - lib/qui/agent.rb
87
+ - lib/qui/base.rb
88
+ - lib/qui/queue.rb
89
+ - lib/qui/user.rb
92
90
  - qui.gemspec
91
+ - spec/lib/agent_spec.rb
92
+ - spec/lib/base_spec.rb
93
93
  - spec/lib/config.yml
94
- - spec/lib/queuemetrics_agent_spec.rb
95
- - spec/lib/queuemetrics_queue_spec.rb
96
- - spec/lib/queuemetrics_spec.rb
97
- - spec/lib/queuemetrics_user_spec.rb
94
+ - spec/lib/queue_spec.rb
95
+ - spec/lib/user_spec.rb
98
96
  - spec/spec_helper.rb
99
97
  homepage: ''
100
98
  licenses:
@@ -119,11 +117,11 @@ rubyforge_project:
119
117
  rubygems_version: 2.0.2
120
118
  signing_key:
121
119
  specification_version: 4
122
- summary: Qui creates and manages Queuemetrics users.
120
+ summary: Qui creates and manages Queuemetrics users and queues.
123
121
  test_files:
122
+ - spec/lib/agent_spec.rb
123
+ - spec/lib/base_spec.rb
124
124
  - spec/lib/config.yml
125
- - spec/lib/queuemetrics_agent_spec.rb
126
- - spec/lib/queuemetrics_queue_spec.rb
127
- - spec/lib/queuemetrics_spec.rb
128
- - spec/lib/queuemetrics_user_spec.rb
125
+ - spec/lib/queue_spec.rb
126
+ - spec/lib/user_spec.rb
129
127
  - spec/spec_helper.rb
@@ -1,18 +0,0 @@
1
- class Queuemetrics
2
-
3
- def self.establish_connection(host, username, password)
4
- connection = {
5
- :adapter => "mysql2",
6
- :host => host,
7
- :database => "queuemetrics",
8
- :username => username,
9
- :password => password,
10
- }
11
- ActiveRecord::Base.establish_connection connection
12
- end
13
-
14
- def self.close_connection
15
- ActiveRecord::Base.connection.close
16
- end
17
-
18
- end
@@ -1,32 +0,0 @@
1
- class QueuemetricsQueue < ActiveRecord::Base
2
- self.table_name = 'code_possibili'
3
-
4
- def initialize(options={}) super(options) end
5
-
6
- def add_agent!(userid)
7
- if exists_in_queue?(userid) then
8
- false
9
- else
10
- self.agenti_membri += "|#{userid}"
11
- self.save
12
- end
13
- end
14
-
15
- def remove_agent!(userid)
16
- if exists_in_queue?(userid) then
17
- members = self.agenti_membri.split("|")
18
- members.delete userid
19
- self.agenti_membri = members.join("|")
20
- self.save
21
- else
22
- false
23
- end
24
- end
25
-
26
- private
27
-
28
- def exists_in_queue?(userid)
29
- if self.agenti_membri.include?(userid) then true else false end
30
- end
31
-
32
- end
@@ -1,27 +0,0 @@
1
- module QueuemetricsRecord
2
- include ActiveRecord::Base
3
-
4
- def save
5
- if self.exists? then
6
- message = false
7
- else
8
- message = true
9
- begin
10
- self.class.create(self.db_attributes)
11
- rescue Exception => e
12
- message = false
13
- end
14
- end
15
- return message
16
- end
17
-
18
- def delete
19
- if self.exists? then
20
- u = self.class.where(:nome_agente => "Agent/#{@userid}", :descr_agente => @username).first
21
- u.destroy
22
- else
23
- false
24
- end
25
- end
26
-
27
- end
@@ -1,19 +0,0 @@
1
- class QueuemetricsUser < ActiveRecord::Base
2
- self.table_name = 'arch_users'
3
-
4
- def initialize(options={})
5
- if options then
6
- options[:abilitato] = "1"
7
- options[:masterkey] = "0"
8
- options[:n_logon] = "0"
9
- options[:chiavi_utente] = " "
10
- options[:ultimo_logon] = Time.now.to_s(:db)
11
- options[:sys_dt_creazione] = Time.now.to_s(:db)
12
- options[:sys_dt_modifica] = Time.now.to_s(:db)
13
- super(options)
14
- else
15
- super
16
- end
17
- end
18
-
19
- end
data/lib/qui/version.rb DELETED
@@ -1,3 +0,0 @@
1
- module Qui
2
- VERSION = "0.8.3"
3
- end
@@ -1,13 +0,0 @@
1
- require 'active_record'
2
- require 'qui/queuemetrics'
3
- require 'qui/queuemetrics_agent'
4
-
5
- describe QueuemetricsAgent do
6
-
7
- it "should wrap ActiveRecord" do
8
- @q = YAML::load_file(File.join(__dir__, 'config.yml'))
9
- Queuemetrics.establish_connection(@q["host"], @q["username"], @q["password"])
10
- QueuemetricsAgent.superclass.should == ActiveRecord::Base
11
- end
12
-
13
- end
@@ -1,13 +0,0 @@
1
- require 'active_record'
2
- require 'qui/queuemetrics'
3
- require 'qui/queuemetrics_user'
4
-
5
- describe QueuemetricsUser do
6
-
7
- it "should wrap ActiveRecord" do
8
- @q = YAML::load_file(File.join(__dir__, 'config.yml'))
9
- Queuemetrics.establish_connection(@q["host"], @q["username"], @q["password"])
10
- QueuemetricsAgent.superclass.should == ActiveRecord::Base
11
- end
12
-
13
- end