diane 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.rspec +3 -0
- data/.rubocop.yml +8 -0
- data/.travis.yml +19 -0
- data/Gemfile +3 -3
- data/README.md +88 -4
- data/bin/console +4 -4
- data/bin/diane +18 -15
- data/diane.gemspec +19 -17
- data/{docs/diane.gif → diane.gif} +0 -0
- data/lib/diane.rb +4 -6
- data/lib/diane/player.rb +46 -27
- data/lib/diane/recorder.rb +22 -12
- metadata +56 -14
- data/DIANE +0 -3
- data/docs/DIANE +0 -11
- data/lib/diane/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a498134b66cff3720bf6a9ed4ae8008f614d1c53dd31cf7f817ddf8c9f2c1620
|
4
|
+
data.tar.gz: 7cc6fb3d5c528603b62aeaa9f5a3de09f4f375b2a80ed3071b2063b69ced3f38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99f447ec106a71c7223201c7d712d7cb28c596a9bee7b9c9491efab50960715ff3ff708f4305e1f51d176a79920d0d613a0717f6835edf9f91eacc0bbc55535b
|
7
|
+
data.tar.gz: 39ccea1b9bd4acf12b039ca9a105f6568912ae7dc3d907f5fecd72df9caac9a02ec34403f45c8771f04d6be50a5b911994b7438aeb5af042b403998a27bcc949
|
data/.gitignore
CHANGED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 2.0
|
4
|
+
- 2.2
|
5
|
+
- 2.3
|
6
|
+
- 2.4
|
7
|
+
- 2.5
|
8
|
+
env:
|
9
|
+
global:
|
10
|
+
- CC_TEST_REPORTER_ID=f771d5ac414479894286db3ea5f2f2ae8f90fb301593b37a5df1ac358d61d2a9
|
11
|
+
before_script:
|
12
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
13
|
+
- chmod +x ./cc-test-reporter
|
14
|
+
- ./cc-test-reporter before-build
|
15
|
+
script:
|
16
|
+
- bundle exec rubocop
|
17
|
+
- bundle exec rspec
|
18
|
+
after_script:
|
19
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,12 +1,23 @@
|
|
1
1
|
# Diane
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/diane.svg)](https://badge.fury.io/rb/diane) ![license](https://img.shields.io/github/license/mnyrop/diane.svg) ![GitHub top language](https://img.shields.io/github/languages/top/mnyrop/diane.svg)
|
2
3
|
|
3
|
-
|
4
|
+
[![Build Status](https://travis-ci.org/mnyrop/diane.svg?branch=master)](https://travis-ci.org/mnyrop/diane) [![Maintainability](https://api.codeclimate.com/v1/badges/0e84a1657af9d2258136/maintainability)](https://codeclimate.com/github/mnyrop/diane/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/0e84a1657af9d2258136/test_coverage)](https://codeclimate.com/github/mnyrop/diane/test_coverage) ![Libraries.io](https://img.shields.io/librariesio/github/mnyrop/diane.svg)
|
4
5
|
|
5
|
-
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
### A Ruby CL documentation utility for recording and playing back your thoughts/intel/motivations, without bloating the Git logs. ☕️
|
10
|
+
|
11
|
+
<br>
|
12
|
+
|
13
|
+
> *I have been assigned a secretary. Her name is Diane.*<br>
|
14
|
+
> *She seems an interesting cross between a saint and a cabaret singer.*
|
15
|
+
|
16
|
+
<br>
|
6
17
|
|
7
18
|
<img src="https://media.giphy.com/media/WubJTtnWXKfmM/giphy.gif" width="400"/>
|
8
19
|
|
9
|
-
|
20
|
+
<br>
|
10
21
|
|
11
22
|
## Installation
|
12
23
|
|
@@ -24,9 +35,82 @@ Or install it yourself as:
|
|
24
35
|
|
25
36
|
$ gem install diane
|
26
37
|
|
38
|
+
<br>
|
39
|
+
|
27
40
|
## Usage
|
41
|
+
<br>
|
42
|
+
|
43
|
+
![diane screen gif](./diane.gif)
|
44
|
+
|
45
|
+
<br>
|
46
|
+
|
47
|
+
Diane has two subcommands: [`record`](#record) and [`playback`](#playback):
|
48
|
+
|
49
|
+
|
50
|
+
### Record
|
51
|
+
|
52
|
+
|
53
|
+
#### Usage:
|
54
|
+
```sh
|
55
|
+
diane record MESSAGE
|
56
|
+
```
|
57
|
+
|
58
|
+
#### Example:
|
59
|
+
```sh
|
60
|
+
diane record "I'm in the middle of adding git-lfs. Remind me to return + test."
|
61
|
+
```
|
62
|
+
|
63
|
+
#### Options:
|
64
|
+
|
65
|
+
- `--user USER` : By default, Diane records the message and attributes it to the git user currently logged in. To override this, use the `--user` option:
|
66
|
+
|
67
|
+
```sh
|
68
|
+
diane record "the owls are not what they seem" --user "the_giant"
|
69
|
+
```
|
70
|
+
|
71
|
+
### Playback
|
72
|
+
|
73
|
+
#### Usage:
|
74
|
+
```sh
|
75
|
+
diane playback NUMBER
|
76
|
+
```
|
77
|
+
|
78
|
+
#### Example:
|
79
|
+
```sh
|
80
|
+
diane playback 3
|
81
|
+
```
|
82
|
+
|
83
|
+
#### Options:
|
84
|
+
|
85
|
+
- `--all` : By default, Diane plays back 1 recording or the `NUMBER` specified. To override this, use the `--all` option to return every recording that matches the query.
|
86
|
+
|
87
|
+
```sh
|
88
|
+
diane playback --all
|
89
|
+
```
|
90
|
+
|
91
|
+
- `--user USER` : By default, Diane plays back the recording(s) attributed to the git user currently logged in. To override this, use the `--user` option:
|
92
|
+
|
93
|
+
```sh
|
94
|
+
diane playback 3 --user "bob"
|
95
|
+
```
|
96
|
+
- `--everyone` : If you want to return a `NUMBER` of recordings irrespective of user, use the `--everyone` option.
|
97
|
+
|
98
|
+
```sh
|
99
|
+
diane playback --all --everyone
|
100
|
+
```
|
101
|
+
- `--inorder` : By default, diane plays back the most recent recordings first. You can override this and reverse them with the option `--inorder`.
|
102
|
+
|
103
|
+
```sh
|
104
|
+
diane playback 5 --inorder
|
105
|
+
```
|
106
|
+
<br>
|
107
|
+
|
108
|
+
> __Note:__ By default, `diane playback` with no number or options returns the single most recent result by the logged in user.
|
109
|
+
|
110
|
+
<br>
|
28
111
|
|
29
|
-
|
112
|
+
For more, see Diane's [Yardoc](https://www.rubydoc.info/github/mnyrop/diane/master/Diane).
|
30
113
|
|
114
|
+
<hr>
|
31
115
|
|
32
116
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/bin/console
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'diane'
|
5
5
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
8
8
|
|
9
9
|
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require
|
10
|
+
# require 'pry'
|
11
11
|
# Pry.start
|
12
12
|
|
13
|
-
require
|
13
|
+
require 'irb'
|
14
14
|
IRB.start(__FILE__)
|
data/bin/diane
CHANGED
@@ -5,29 +5,32 @@ require 'diane'
|
|
5
5
|
|
6
6
|
Mercenary.program(:diane) do |p|
|
7
7
|
p.version Diane::VERSION
|
8
|
-
p.description
|
9
|
-
|
8
|
+
p.description %(CL gem for recording and playing back thoughts/
|
9
|
+
intel/ motivations without bloating the Git logs.)
|
10
|
+
p.syntax 'diane <subcommand> [options]'
|
10
11
|
|
11
12
|
p.command(:record) do |c|
|
12
13
|
c.syntax 'record MESSAGE'
|
13
|
-
c.description ''
|
14
|
-
c.option
|
15
|
-
|
16
|
-
|
17
|
-
Diane::Recorder.new(message, opts)
|
18
|
-
end
|
14
|
+
c.description 'Record a new message with/to Diane'
|
15
|
+
c.option :user, '--user USER', %(Set user manually,
|
16
|
+
instead of fetching from git config (default))
|
17
|
+
c.action { |args, opts| Diane::Recorder.new(args.first, opts).record }
|
19
18
|
end
|
20
19
|
|
21
20
|
p.command(:playback) do |c|
|
22
21
|
c.syntax 'playback NUMBER'
|
23
|
-
c.description
|
24
|
-
c.option
|
25
|
-
|
26
|
-
c.option
|
22
|
+
c.description %(Playback existing recordings by querying Diane)
|
23
|
+
c.option :all, '--all', %(Playback all matching recordings,
|
24
|
+
instead of 1 (default) or a specified NUMBER)
|
25
|
+
c.option :inorder, '--inorder', %(Playback oldest recordings first,
|
26
|
+
instead of most recent (default))
|
27
|
+
c.option :user, '--user USER', %(Playback a specific user/all
|
28
|
+
recordings, instead of your own (default))
|
29
|
+
c.option :everyone, '--everyone', %(Playback a recordings regardless
|
30
|
+
of user, instead of your own (default))
|
27
31
|
c.action do |args, opts|
|
28
|
-
num = args.first.to_i.abs
|
29
|
-
|
30
|
-
Diane::Player.new(num, opts)
|
32
|
+
opts['num'] = args.first.to_i.abs
|
33
|
+
Diane::Player.new(opts).play
|
31
34
|
end
|
32
35
|
end
|
33
36
|
end
|
data/diane.gemspec
CHANGED
@@ -1,26 +1,28 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require "diane/version"
|
1
|
+
$LOAD_PATH.push File.expand_path('lib')
|
5
2
|
|
6
3
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
-
spec.version =
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
4
|
+
spec.name = 'diane'
|
5
|
+
spec.version = '0.0.2'
|
6
|
+
spec.authors = ['mnyrop']
|
7
|
+
spec.email = ['m.nyrop@columbia.edu']
|
11
8
|
|
12
|
-
spec.summary = %
|
13
|
-
spec.description = %
|
14
|
-
|
15
|
-
spec.
|
9
|
+
spec.summary = %(CL gem for recording and playing back thoughts.)
|
10
|
+
spec.description = %(CL gem for recording and playing back thoughts/
|
11
|
+
intel/ motivations without bloating the Git logs.)
|
12
|
+
spec.homepage = 'https://github.com/mnyrop/diane'
|
13
|
+
spec.license = 'MIT'
|
16
14
|
|
17
15
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
16
|
f.match(%r{^(test|spec|features)/})
|
19
17
|
end
|
20
|
-
spec.executables = ["diane"]
|
21
|
-
spec.require_paths = ["lib"]
|
22
18
|
|
23
|
-
spec.
|
24
|
-
spec.
|
25
|
-
|
19
|
+
spec.executables = ['diane']
|
20
|
+
spec.require_paths = ['lib']
|
21
|
+
|
22
|
+
spec.add_dependency 'colorize', '~> 0.8'
|
23
|
+
spec.add_dependency 'mercenary', '~> 0.3'
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
25
|
+
spec.add_development_dependency 'faker', '~> 1'
|
26
|
+
spec.add_development_dependency 'rspec', '~> 3'
|
27
|
+
spec.add_development_dependency 'rubocop', '>= 0.5'
|
26
28
|
end
|
File without changes
|
data/lib/diane.rb
CHANGED
@@ -1,11 +1,9 @@
|
|
1
|
-
require 'date'
|
2
|
-
|
3
|
-
require 'diane/version'
|
4
1
|
require 'diane/player'
|
5
2
|
require 'diane/recorder'
|
6
3
|
|
4
|
+
# Umbrella module for Diane player/recorder
|
7
5
|
module Diane
|
8
|
-
DIFILE =
|
9
|
-
USER = `git config user.name`.strip
|
10
|
-
|
6
|
+
DIFILE = "#{`pwd`.strip}/DIANE".freeze # Location of Diane file
|
7
|
+
USER = `git config user.name`.strip # Git user initiating the recording
|
8
|
+
VERSION = '0.0.2'.freeze # Gem version
|
11
9
|
end
|
data/lib/diane/player.rb
CHANGED
@@ -2,46 +2,65 @@ require 'csv'
|
|
2
2
|
require 'colorize'
|
3
3
|
|
4
4
|
module Diane
|
5
|
+
# Reconstructs and plays back recordings
|
5
6
|
class Player
|
6
|
-
|
7
|
-
@num = num
|
8
|
-
@inorder = opts.fetch('inorder', false)
|
9
|
-
@everyone = opts.fetch('everyone', false)
|
10
|
-
@all = opts.fetch('all', false)
|
11
|
-
@recordings = recordings
|
7
|
+
attr_reader :recordings, :user
|
12
8
|
|
13
|
-
|
9
|
+
def initialize(opts)
|
10
|
+
@num = opts.fetch(:num, 1)
|
11
|
+
@inorder = opts.fetch(:inorder, false)
|
12
|
+
@user = opts.fetch(:user, USER)
|
13
|
+
@everyone = opts.fetch(:everyone, false)
|
14
|
+
@all = opts.fetch(:all, false)
|
15
|
+
@recordings = query(all_recordings)
|
14
16
|
end
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
# Returns hash array of all
|
19
|
+
# recordings in DIANE file
|
20
|
+
def all_recordings
|
21
|
+
opts = {
|
22
|
+
headers: true,
|
23
|
+
header_converters: :symbol,
|
24
|
+
encoding: 'utf-8'
|
25
|
+
}
|
26
|
+
CSV.read(DIFILE, opts).map(&:to_hash)
|
22
27
|
end
|
23
28
|
|
29
|
+
# Generates a subset of recordings
|
30
|
+
# using command options (number, user, order)
|
31
|
+
def query(recordings)
|
32
|
+
@num += 1 if @num.zero?
|
33
|
+
recordings.select! { |r| r[:user] == @user } unless @everyone
|
34
|
+
limit = @all ? recordings.length : [@num, recordings.length].min
|
35
|
+
recordings.reverse! unless @inorder
|
36
|
+
recordings.take(limit)
|
37
|
+
end
|
38
|
+
|
39
|
+
# generates shell message describing
|
40
|
+
# the recordings returned by query
|
24
41
|
def preface
|
25
42
|
position = @inorder ? 'first' : 'last'
|
26
|
-
scope = @
|
27
|
-
if @recordings.length == 1
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
43
|
+
scope = @user == USER ? 'your' : "#{@user}'s"
|
44
|
+
preface = if @recordings.length == 1
|
45
|
+
%(Here's the #{position} of #{scope} recordings:\n)
|
46
|
+
else
|
47
|
+
%(Here's the #{position} #{@recordings.length}
|
48
|
+
of #{scope} recordings:\n)
|
49
|
+
end
|
32
50
|
preface.green
|
33
51
|
end
|
34
52
|
|
53
|
+
# returns and puts formatted recordings
|
54
|
+
# returned by query
|
35
55
|
def play
|
36
|
-
if @recordings.empty?
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
puts "\n#{r['time']} : ".cyan + "@#{r['user']}".yellow
|
42
|
-
puts "#{r['message']}"
|
43
|
-
end
|
56
|
+
abort %(None from #{@user}. Fuck off.).magenta if @recordings.empty?
|
57
|
+
stdout = preface
|
58
|
+
@recordings.each do |r|
|
59
|
+
stdout += "\n#{r[:time]} : ".cyan + "@#{r[:user]}".yellow
|
60
|
+
stdout += "\n#{r[:message]}\n\n"
|
44
61
|
end
|
62
|
+
puts stdout
|
63
|
+
stdout
|
45
64
|
end
|
46
65
|
end
|
47
66
|
end
|
data/lib/diane/recorder.rb
CHANGED
@@ -1,28 +1,38 @@
|
|
1
|
+
require 'csv'
|
1
2
|
|
2
3
|
module Diane
|
4
|
+
# Records messages and metadata
|
3
5
|
class Recorder
|
6
|
+
attr_reader :user
|
7
|
+
|
4
8
|
def initialize(message, opts)
|
5
|
-
|
6
|
-
|
9
|
+
abort 'Message is Nil. Fuck off.'.magenta if message.nil?
|
10
|
+
@message = message
|
11
|
+
@user = slug(opts.fetch(:user, USER))
|
12
|
+
@time = Time.now.asctime
|
7
13
|
end
|
8
14
|
|
15
|
+
# generates new recording as csv row
|
16
|
+
# to new or existing DIANE file
|
9
17
|
def record
|
10
18
|
if File.exist? DIFILE
|
11
|
-
|
19
|
+
CSV.open(DIFILE, 'a') { |csv| csv << [@user, @message, @time] }
|
12
20
|
else
|
13
|
-
|
14
|
-
|
15
|
-
|
21
|
+
CSV.open(DIFILE, 'a') do |csv|
|
22
|
+
csv << %w[user message time]
|
23
|
+
csv << [@user, @message, @time]
|
16
24
|
end
|
17
25
|
end
|
18
|
-
puts
|
19
|
-
rescue => e
|
20
|
-
abort
|
26
|
+
puts '✓'.green
|
27
|
+
rescue StandardError => e
|
28
|
+
abort 'Broken'.magenta + e
|
21
29
|
end
|
22
30
|
|
23
|
-
|
24
|
-
|
25
|
-
|
31
|
+
# normalizes and slugifies
|
32
|
+
# recording user handle
|
33
|
+
def slug(user)
|
34
|
+
abort 'User is nil. Fuck off.'.magenta if user.nil?
|
35
|
+
user.downcase.strip.tr(' ', '_').gsub(/[^\w-]/, '')
|
26
36
|
end
|
27
37
|
end
|
28
38
|
end
|
metadata
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mnyrop
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: colorize
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.8'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.8'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: mercenary
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
@@ -52,8 +52,51 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.16'
|
55
|
-
|
56
|
-
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: faker
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.5'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.5'
|
97
|
+
description: |-
|
98
|
+
CL gem for recording and playing back thoughts/
|
99
|
+
intel/ motivations without bloating the Git logs.
|
57
100
|
email:
|
58
101
|
- m.nyrop@columbia.edu
|
59
102
|
executables:
|
@@ -62,7 +105,9 @@ extensions: []
|
|
62
105
|
extra_rdoc_files: []
|
63
106
|
files:
|
64
107
|
- ".gitignore"
|
65
|
-
-
|
108
|
+
- ".rspec"
|
109
|
+
- ".rubocop.yml"
|
110
|
+
- ".travis.yml"
|
66
111
|
- Gemfile
|
67
112
|
- LICENSE.txt
|
68
113
|
- README.md
|
@@ -70,12 +115,10 @@ files:
|
|
70
115
|
- bin/diane
|
71
116
|
- bin/setup
|
72
117
|
- diane.gemspec
|
73
|
-
-
|
74
|
-
- docs/diane.gif
|
118
|
+
- diane.gif
|
75
119
|
- lib/diane.rb
|
76
120
|
- lib/diane/player.rb
|
77
121
|
- lib/diane/recorder.rb
|
78
|
-
- lib/diane/version.rb
|
79
122
|
homepage: https://github.com/mnyrop/diane
|
80
123
|
licenses:
|
81
124
|
- MIT
|
@@ -99,6 +142,5 @@ rubyforge_project:
|
|
99
142
|
rubygems_version: 2.7.6
|
100
143
|
signing_key:
|
101
144
|
specification_version: 4
|
102
|
-
summary: CL gem for recording and playing back thoughts
|
103
|
-
bloating the Git logs.
|
145
|
+
summary: CL gem for recording and playing back thoughts.
|
104
146
|
test_files: []
|
data/DIANE
DELETED
data/docs/DIANE
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
user,message,time
|
2
|
-
cooper,"entering the town of twin peaks, five miles south of the canadian border, twelve miles west of the state line",01/06/2018 15:02
|
3
|
-
cooper,"i've never seen so many trees in my life",01/06/2018 15:02
|
4
|
-
cooper,"i almost forgot, i've got to find out what kind of trees these are. they're really something.",01/06/2018 15:03
|
5
|
-
cooper,"the owls are not what they seem",01/06/2018 15:03
|
6
|
-
cooper,"I have no idea where this will lead us. But I have a definite feeling it will be a place both wonderful and strange.",01/06/2018 16:46
|
7
|
-
cooper,"MAY A SMILE BE YOUR UMBRELLA. WE'VE ALL HAD OUR SOCKS TOSSED AROUND.",01/06/2018 16:46
|
8
|
-
cooper,"Pie. Whoever invented the pie? Here was a great person.",01/06/2018 16:48
|
9
|
-
cooper,"I believe I was visited by a giant last night. Twice.",01/06/2018 16:53
|
10
|
-
mnyrop,"when you see me again, it won't be me",01/06/2018 16:58
|
11
|
-
mnyrop,"one day my log will have something to say about this",01/06/2018 17:04
|
data/lib/diane/version.rb
DELETED