qui 0.8.3 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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