bookie_accounting 1.1.3 → 1.2.3

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: 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