one_up 0.1.0 → 0.3.0

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