one_up 0.1.0 → 0.3.0

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: 58f5de86d0071e03308f4c17b15471dc2006e65a
4
- data.tar.gz: b89c0d9737fbb535436418b06d11bbf786aeb337
3
+ metadata.gz: f2a9184dab467cdccd2904ebeabf8c02be0b83aa
4
+ data.tar.gz: ecf1dfd05f6cffe4cd59300ff929d128bb80ca71
5
5
  SHA512:
6
- metadata.gz: 1418f8ec083f639fdf5323f7a0398fc731082014bd1c8e310c05553bc7c0f16586a9da11cdfc81e70076985a56445beeb980820abfc7b926da96fcac3b4513aa
7
- data.tar.gz: 524c96df06e02b847d38d08e5f67f4ccc096f0571232e541d9a565e0627564a1f71a3fa1831aa51bf578e88e12a7e45e3df8c733788435ace0d296dc786a85ec
6
+ metadata.gz: 8ed98c3b033646893f75f8aec431b6dce5aa323ef055a1379016dd21924a6c5e8cedb722c4c6285bedabdb442278779dd12105d0cb671e397e10f260d984801e
7
+ data.tar.gz: 1495cf83ae75e0433c0ff7188cc15844787b87402ee74d8e403a08ab057223fa00376aec77b6f3f5c4972923275ed50afd81db0fcf499ad0d6fa690314c0756f
data/README.md CHANGED
@@ -30,7 +30,14 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
30
30
 
31
31
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
32
 
33
+ ## Sample Apps
34
+
35
+ ### Slack Slash Commands
36
+
37
+ ``` bash
38
+ git push heroku `git subtree split --prefix one_up_slack master`:master --force
39
+ ```
33
40
  ## Contributing
34
41
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/one_up. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
42
+ Bug reports and pull requests are welcome on GitHub at https://github.com/parasquid/one_up. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
36
43
 
@@ -1,4 +1,6 @@
1
1
  require "one_up/version"
2
+ require "one_up/ledger"
3
+ require "one_up/user"
2
4
 
3
5
  module OneUp
4
6
  # Your code goes here...
@@ -1,26 +1,48 @@
1
1
  module OneUp
2
+ require "one_up/mixins/acts_as_crud"
3
+ class LedgerRepository
4
+ extend Mixins::ActsAsCrud
5
+ attr_accessor :giver, :receiver, :gift, :message, :created_at
6
+ def initialize(giver:, receiver:, gift:, message:, created_at: Time.now)
7
+ @giver = giver
8
+ @receiver = receiver
9
+ @gift = gift
10
+ @message = message
11
+ @created_at = created_at
12
+ end
13
+
14
+ def self.entries_from_range(today_start, today_end)
15
+ all.select { |e| (today_start..today_end).cover? e.created_at }
16
+ end
17
+ end
18
+
2
19
  class Ledger
3
- def initialize(repository: default_repository)
20
+ def initialize(repository: LedgerRepository)
4
21
  @repository = repository
5
22
  end
6
23
 
7
- def add_entry(giver:, receiver:, gift:, created_at: Time.now)
8
- @repository << {
24
+ def add_entry(giver:, receiver:, gift:, message:, created_at: Time.now)
25
+ @repository.create(
9
26
  giver: giver,
10
27
  receiver: receiver,
11
28
  gift: gift,
29
+ message: message,
12
30
  created_at: created_at
13
- }
31
+ )
14
32
  end
15
33
 
16
34
  def entries
17
- @repository
35
+ @repository.all
18
36
  end
19
37
 
20
- private
38
+ def entries_today
39
+ today_start = Date.today.to_time
40
+ today_end = (Date.today + 1).to_time - 1
41
+ @repository.entries_from_range(today_start, today_end)
42
+ end
21
43
 
22
- def default_repository
23
- []
44
+ def clear_repository
45
+ @repository.delete_all
24
46
  end
25
47
  end
26
48
  end
@@ -0,0 +1,26 @@
1
+ module OneUp
2
+ module Mixins
3
+ module ActsAsCrud
4
+ def crud_element_list
5
+ @@crud_element_list ||= []
6
+ end
7
+
8
+ def crud_element_list=(new_list)
9
+ @@crud_element_list = new_list
10
+ end
11
+
12
+ def create(args)
13
+ self.crud_element_list << (element = self.new(args))
14
+ element
15
+ end
16
+
17
+ def all
18
+ self.crud_element_list
19
+ end
20
+
21
+ def delete_all
22
+ self.crud_element_list.clear
23
+ end
24
+ end
25
+ end
26
+ end
@@ -6,8 +6,8 @@ module OneUp
6
6
  @ledger = ledger
7
7
  end
8
8
 
9
- def give(gift, to:)
10
- @ledger.add_entry(giver: self, receiver: to, gift: gift)
9
+ def give(gift, to:, message:)
10
+ @ledger.add_entry(giver: self, receiver: to, gift: gift, message: message)
11
11
  end
12
12
  end
13
13
  end
@@ -1,3 +1,3 @@
1
1
  module OneUp
2
- VERSION = "0.1.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: one_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - parasquid
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-18 00:00:00.000000000 Z
11
+ date: 2016-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -114,6 +114,7 @@ files:
114
114
  - bin/setup
115
115
  - lib/one_up.rb
116
116
  - lib/one_up/ledger.rb
117
+ - lib/one_up/mixins/acts_as_crud.rb
117
118
  - lib/one_up/user.rb
118
119
  - lib/one_up/version.rb
119
120
  - one_up.gemspec