bookie_accounting 1.1.3 → 1.2.3

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: 9ef00d4082140ad111a21da87cba98e1254fabcf
4
- data.tar.gz: 1acbe70668d35255e0ce408346b6f74f756d1bea
3
+ metadata.gz: f140628ce83250fabffabda656f8f66a73cb89dc
4
+ data.tar.gz: b0c4ed64a1adbd44986df8856eb9c01a2aa52b61
5
5
  SHA512:
6
- metadata.gz: 12cecbc1171f0b9fa7b063beff8650d9f2c46c3b9de4218478ae3f83782772e0e9b9070a6ae49502adbe77808c16828a9a7b376442717a9c37827d32890057b7
7
- data.tar.gz: 022f7c9c45cf8ce896ea09e2a6d1221515f92e2c9ccf5b940b3edda30c543a0042dea03d15b771cbde78b939f2f3e1c6e1fa5a64e02dd20ac361da012e5b94a5
6
+ metadata.gz: ca2c83c5150357c4cef54d129670c9ef93f530c4ec4846f333de7ea79b19a9cf88a377a69e1895459a40bffa1f254a26bab55a2684cb69e13301df3ee710ab88
7
+ data.tar.gz: 1ebafa8e77bf140b8942289b53bab7d9a6345250f2e2888c8ecceb417181f7eee7f6975d09bd5ce7744af940320f27ec8c3c39f55d826521a17377e484b5964c
data/Gemfile CHANGED
@@ -5,5 +5,6 @@ gemspec
5
5
  gem 'bundler', :group => :development
6
6
  gem 'mocha', :group => :development
7
7
  gem 'rspec', :group => :development
8
+ gem 'simplecov', :group => :development
8
9
  gem 'sqlite3', :group => :development
9
10
 
@@ -87,7 +87,7 @@ module Bookie
87
87
  def self.by_group_name(group_name)
88
88
  group = Group.find_by_name(group_name)
89
89
  return joins(:user).where('users.group_id = ?', group.id) if group
90
- where('1=0')
90
+ self.none
91
91
  end
92
92
 
93
93
  ##
@@ -118,7 +118,7 @@ module Bookie
118
118
  #Finds all jobs whose running intervals overlap the given time range
119
119
  def self.by_time_range_inclusive(time_range)
120
120
  if time_range.empty?
121
- where('1=0')
121
+ self.none
122
122
  elsif time_range.exclude_end?
123
123
  where('? <= jobs.end_time AND jobs.start_time < ?', time_range.first, time_range.last)
124
124
  else
@@ -292,7 +292,7 @@ module Bookie
292
292
  def self.by_group_name(name)
293
293
  group = Group.find_by_name(name)
294
294
  return by_group(group) if group
295
- where('1=0')
295
+ self.none
296
296
  end
297
297
 
298
298
  ##
@@ -499,7 +499,7 @@ module Bookie
499
499
  #A group of users
500
500
  class Group < ActiveRecord::Base
501
501
  has_many :users
502
-
502
+
503
503
  ##
504
504
  #Finds a group by name, creating it if it doesn't exist
505
505
  #
@@ -528,6 +528,16 @@ module Bookie
528
528
  def self.by_name(name)
529
529
  where('users.name = ?', name)
530
530
  end
531
+
532
+ def self.by_group(group)
533
+ return where('users.group_id = ?', group.id)
534
+ end
535
+
536
+ def self.by_group_name(name)
537
+ group = Group.find_by_name(name)
538
+ return by_group(group) if group
539
+ self.none
540
+ end
531
541
 
532
542
  ##
533
543
  #Finds a user by name and group, creating it if it doesn't exist
@@ -589,7 +599,7 @@ module Bookie
589
599
  #To do: unit test.
590
600
  def self.by_time_range_inclusive(time_range)
591
601
  if time_range.empty?
592
- where('1=0')
602
+ self.none
593
603
  elsif time_range.exclude_end?
594
604
  where('(? <= systems.end_time OR systems.end_time IS NULL) AND systems.start_time < ?', time_range.first, time_range.last)
595
605
  else
@@ -1,4 +1,4 @@
1
1
  module Bookie
2
2
  #The library version
3
- VERSION = "1.1.3"
3
+ VERSION = "1.2.3"
4
4
  end
@@ -424,6 +424,7 @@ describe Bookie::Database do
424
424
  sums.each do |sum|
425
425
  sum.user.group.name.should eql 'admin'
426
426
  end
427
+ Bookie::Database::JobSummary.by_group_name('fake_group').count.should eql 0
427
428
  end
428
429
 
429
430
  it "correctly filters by system" do
@@ -693,6 +694,16 @@ describe Bookie::Database do
693
694
  user.name.should eql 'test'
694
695
  end
695
696
  end
697
+
698
+ it "correctly filters by group" do
699
+ Bookie::Database::User.by_group(Bookie::Database::Group.find_by_name('admin')).count.should eql 2
700
+ Bookie::Database::User.by_group(Bookie::Database::Group.find_by_name('root')).count.should eql 1
701
+ end
702
+
703
+ it "correctly filters by group name" do
704
+ Bookie::Database::User.by_group_name('admin').count.should eql 2
705
+ Bookie::Database::User.by_group_name('fake_group').count.should eql 0
706
+ end
696
707
 
697
708
  describe "#find_or_create" do
698
709
  before(:each) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bookie_accounting
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Merritt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-06 00:00:00.000000000 Z
11
+ date: 2013-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord