Class: Reviewlette::Database
- Inherits:
-
Object
- Object
- Reviewlette::Database
- Defined in:
- lib/reviewlette/database.rb
Constant Summary collapse
- DATABASE =
Sequel.connect("sqlite://#{@path}/reviewlette.db")
Instance Attribute Summary collapse
-
#reviewer ⇒ Object
Returns the value of attribute reviewer.
-
#reviews ⇒ Object
Returns the value of attribute reviews.
Instance Method Summary collapse
- #add_pr_to_db(pr_name, reviewer) ⇒ Object
- #conscruct_graph_struct ⇒ Object
- #conscruct_line_data ⇒ Object
- #count_reviews(reviewer) ⇒ Object
- #count_up(reviewer) ⇒ Object
- #find_gh_name_by_trello_name(trello_name) ⇒ Object
- #get_users_gh_entries ⇒ Object
- #get_users_tel_entries ⇒ Object
- #get_users_trello_entries ⇒ Object
-
#initialize ⇒ Database
constructor
A new instance of Database.
- #set_vacation_flag(reviewer, state) ⇒ Object
Constructor Details
Instance Attribute Details
#reviewer ⇒ Object
Returns the value of attribute reviewer.
13 14 15 |
# File 'lib/reviewlette/database.rb', line 13 def reviewer @reviewer end |
#reviews ⇒ Object
Returns the value of attribute reviews.
13 14 15 |
# File 'lib/reviewlette/database.rb', line 13 def reviews @reviews end |
Instance Method Details
#add_pr_to_db(pr_name, reviewer) ⇒ Object
26 27 28 29 |
# File 'lib/reviewlette/database.rb', line 26 def add_pr_to_db(pr_name, reviewer) @reviews.insert(:name => pr_name, :reviewer => reviewer, :created_at => Date.today) count_up(reviewer) end |
#conscruct_graph_struct ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/reviewlette/database.rb', line 55 def conscruct_graph_struct data = [] get_users_trello_entries.each do |x| data.push({ label: x, value: count_reviews(x) }) end data end |
#conscruct_line_data ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/reviewlette/database.rb', line 63 def conscruct_line_data data = [] date_range = (Date.today - 7 )..(Date.today) get_users_trello_entries.each do |name| date_range.each do |date| abc = {} abc[:created_at] = date abc[name] = @reviews.where(:reviewer => name, :created_at => date).select(:created_at).count data.push(abc) end end data end |
#count_reviews(reviewer) ⇒ Object
43 44 45 |
# File 'lib/reviewlette/database.rb', line 43 def count_reviews(reviewer) @reviews.where(:reviewer => reviewer).count end |
#count_up(reviewer) ⇒ Object
20 21 22 23 24 |
# File 'lib/reviewlette/database.rb', line 20 def count_up(reviewer) pr_reviewer = @reviewer.where(:trello_name => reviewer).select(:trello_name).first.values.first counter = @reviewer.where(:trello_name => pr_reviewer).select(:reviews).first.values.first @reviewer.where(:trello_name => reviewer).update(:reviews => counter.next) end |
#find_gh_name_by_trello_name(trello_name) ⇒ Object
47 48 49 |
# File 'lib/reviewlette/database.rb', line 47 def find_gh_name_by_trello_name(trello_name) @reviewer.where(:trello_name => trello_name).select(:gh_name).first.values.first end |
#get_users_gh_entries ⇒ Object
35 36 37 |
# File 'lib/reviewlette/database.rb', line 35 def get_users_gh_entries @reviewer.map([:gh_name]).flatten.select{|user| user unless user.nil?} end |
#get_users_tel_entries ⇒ Object
31 32 33 |
# File 'lib/reviewlette/database.rb', line 31 def get_users_tel_entries @reviewer.map([:tel_name]).flatten.select{|user| user unless user.nil?} end |
#get_users_trello_entries ⇒ Object
39 40 41 |
# File 'lib/reviewlette/database.rb', line 39 def get_users_trello_entries @reviewer.where(:vacation => 'false').map([:trello_name]).flatten.select{|user| user unless user.nil?} end |
#set_vacation_flag(reviewer, state) ⇒ Object
51 52 53 |
# File 'lib/reviewlette/database.rb', line 51 def set_vacation_flag(reviewer, state) @reviewer.where(:tel_name => reviewer).update(:vacation => state) end |