keen-cli 0.1.1 → 0.1.2

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.
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  .env
2
+ Gemfile.lock
data/README.md CHANGED
@@ -18,13 +18,14 @@ Verify the `keen` command is in your path by running it:
18
18
 
19
19
  ``` shell
20
20
  Commands:
21
- keen events:add # Add an event
22
- keen help [COMMAND] # Describe available commands or one specific command
23
- keen project:open # Open the current project
24
- keen project:show # Show the current project
25
- keen project:workbench # Open the current project's workbench
26
- keen queries:run # Run a query
27
- keen version # Print the keen-cli version
21
+ keen events:add # Add one or more events and print the result
22
+ keen help [COMMAND] # Describe available commands or one specific command
23
+ keen project:collections # Print information about a project's collections
24
+ keen project:describe # Print information about a project
25
+ keen project:open # Open a project's overview page in a browser
26
+ keen project:workbench # Open a project's workbench page in a browser
27
+ keen queries:run # Run a query and print the result
28
+ keen version # Print the keen-cli version
28
29
  ```
29
30
 
30
31
  You should see information about available commands.
@@ -33,7 +34,7 @@ If `keen` can't be found there might be an issue with your Ruby installation. If
33
34
 
34
35
  ### Environment configuration
35
36
 
36
- Most keen-cli functions require the presence of a project and one or more API keys to do meaningful actions. By default, keen-cli attempts to find these in the process environment or a `.env` file in the current directory. This is the same heuristic that [keen-gem](https://github.com/keenlabs/keen-gem) uses.
37
+ Most keen-cli commands require the presence of a project and one or more API keys to do meaningful actions. By default, keen-cli attempts to find these in the process environment or a `.env` file in the current directory. This is the same heuristic that [keen-gem](https://github.com/keenlabs/keen-gem) uses and is based on [dotenv](https://github.com/bkeepers/dotenv).
37
38
 
38
39
  An example .env file looks like this:
39
40
 
@@ -49,7 +50,7 @@ If you run `keen` from a directory with this .env file, it will assume the proje
49
50
  To override the project context use the `--project` option:
50
51
 
51
52
  ``` shell
52
- $ keen project:show --project XXXXXXXXXXXXXXX
53
+ $ keen project:describe --project XXXXXXXXXXXXXXX
53
54
  ```
54
55
 
55
56
  Similar overrides are available for specifiying API keys: `--master-key`, `--read-key` and `--write-key`.
@@ -57,13 +58,13 @@ Similar overrides are available for specifiying API keys: `--master-key`, `--rea
57
58
  For example:
58
59
 
59
60
  ``` shell
60
- $ keen project:show --project XXXXXXXXXXXXXXX --master-key AAAAAAAAAAAAAA
61
+ $ keen project:describe --project XXXXXXXXXXXXXXX --master-key AAAAAAAAAAAAAA
61
62
  ```
62
63
 
63
64
  Shorter aliases exist as well: `-p` for project, `-k` for master key, `-r` for read key, and `-w` for write key.
64
65
 
65
66
  ``` shell
66
- $ keen project:show -p XXXXXXXXXXXXXXX -k AAAAAAAAAAAAAA
67
+ $ keen project:describe -p XXXXXXXXXXXXXXX -k AAAAAAAAAAAAAA
67
68
  ```
68
69
 
69
70
  ### Usage
@@ -75,8 +76,9 @@ keen-cli has a variety of commands, and most are namespaced for clarity.
75
76
  ##### Projects
76
77
 
77
78
  * `project:open` - Open the Project Overview page in a browser
78
- * `project:workbench` - Open the Project Workbench in a browser
79
- * `project:show` - Get data about the project, uses the [project row resource](https://keen.io/docs/api/reference/#project-row-resource).
79
+ * `project:workbench` - Open the Project Workbench page in a browser
80
+ * `project:describe` - Get data about the project. Uses the [project row resource](https://keen.io/docs/api/reference/#project-row-resource).
81
+ * `project:collections` - Get schema information about the project's collections. Uses the [event resource](https://keen.io/docs/api/reference/#event-resource).
80
82
 
81
83
  ##### Events
82
84
 
@@ -169,6 +171,12 @@ $ keen queries:run --collection cli-tests --analysis-type median --target-proper
169
171
  ...
170
172
  ```
171
173
 
174
+ ### Changelog
175
+
176
+ + 0.1.2 – Change `project:show` to `project:describe`
177
+ + 0.1.1 – Add `project:collections`
178
+ + 0.1.0 - Initial version
179
+
172
180
  ### Contributing
173
181
 
174
182
  keen-cli is open source, and contributions are very welcome!
data/lib/keen-cli/cli.rb CHANGED
@@ -44,18 +44,18 @@ module KeenCli
44
44
  end
45
45
  end
46
46
 
47
- desc 'project:show', 'Show the current project'
48
- map 'project:show' => :project_show
47
+ desc 'project:describe', 'Print information about a project'
48
+ map 'project:describe' => :project_describe
49
49
  shared_options
50
50
 
51
- def project_show
51
+ def project_describe
52
52
  Utils.process_options!(options)
53
53
  response = HTTP.get(
54
54
  "https://api.keen.io/3.0/projects/#{Keen.project_id}?api_key=#{Keen.master_key}")
55
55
  JSON.pretty_generate(JSON.parse(response.to_s)).tap do |s| puts s end
56
56
  end
57
57
 
58
- desc 'project:collections', 'Show the current project\'s collections'
58
+ desc 'project:collections', 'Print information about a project\'s collections'
59
59
  map 'project:collections' => :project_collections
60
60
  shared_options
61
61
 
@@ -66,7 +66,7 @@ module KeenCli
66
66
  end
67
67
  end
68
68
 
69
- desc 'project:open', 'Open the current project'
69
+ desc 'project:open', 'Open a project\'s overview page in a browser'
70
70
  map 'project:open' => :project_open
71
71
  shared_options
72
72
 
@@ -77,7 +77,7 @@ module KeenCli
77
77
  end
78
78
  end
79
79
 
80
- desc 'project:workbench', 'Open the current project\'s workbench'
80
+ desc 'project:workbench', 'Open a project\'s workbench page in a browser'
81
81
  map 'project:workbench' => :project_workbench
82
82
  shared_options
83
83
 
@@ -88,7 +88,7 @@ module KeenCli
88
88
  end
89
89
  end
90
90
 
91
- desc 'queries:run', 'Run a query'
91
+ desc 'queries:run', 'Run a query and print the result'
92
92
  map 'queries:run' => :queries_run
93
93
  shared_options
94
94
  query_options
@@ -117,7 +117,7 @@ module KeenCli
117
117
  end
118
118
  end
119
119
 
120
- desc 'events:add', 'Add an event'
120
+ desc 'events:add', 'Add one or more events and print the result'
121
121
  map 'events:add' => :events_add
122
122
 
123
123
  shared_options
@@ -1,3 +1,3 @@
1
1
  module KeenCli
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -11,10 +11,17 @@ describe KeenCli::CLI do
11
11
  expect(_).to match /version/
12
12
  end
13
13
 
14
- describe 'project:show' do
14
+ describe 'project:describe' do
15
15
  it 'gets the project' do
16
- _, options = KeenCli::CLI.start(%w[project:show])
16
+ _, options = KeenCli::CLI.start(%w[project:describe])
17
17
  expect(_).to match /\/3.0\/projects\/#{Keen.project_id}\/events/
18
18
  end
19
19
  end
20
+
21
+ describe 'project:collections' do
22
+ it 'prints the project\'s collections' do
23
+ _, options = KeenCli::CLI.start(%w[project:collections])
24
+ expect(_["properties"]["keen.timestamp"]).to eq 'datetime'
25
+ end
26
+ end
20
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keen-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-28 00:00:00.000000000 Z
12
+ date: 2014-07-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: keen
@@ -133,7 +133,6 @@ files:
133
133
  - .gitignore
134
134
  - .travis.yml
135
135
  - Gemfile
136
- - Gemfile.lock
137
136
  - LICENSE
138
137
  - README.md
139
138
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,54 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- keen-cli (0.1.0)
5
- dotenv
6
- http
7
- keen
8
- thor
9
-
10
- GEM
11
- remote: https://rubygems.org/
12
- specs:
13
- addressable (2.3.6)
14
- columnize (0.8.9)
15
- debugger (1.6.8)
16
- columnize (>= 0.3.1)
17
- debugger-linecache (~> 1.2.0)
18
- debugger-ruby_core_source (~> 1.3.5)
19
- debugger-linecache (1.2.0)
20
- debugger-ruby_core_source (1.3.5)
21
- diff-lcs (1.2.5)
22
- dotenv (0.11.1)
23
- dotenv-deployment (~> 0.0.2)
24
- dotenv-deployment (0.0.2)
25
- http (0.6.1)
26
- http_parser.rb (~> 0.6.0)
27
- http_parser.rb (0.6.0)
28
- keen (0.8.3)
29
- addressable (~> 2.3.5)
30
- multi_json (~> 1.3)
31
- multi_json (1.10.1)
32
- rake (10.3.2)
33
- rspec (3.0.0)
34
- rspec-core (~> 3.0.0)
35
- rspec-expectations (~> 3.0.0)
36
- rspec-mocks (~> 3.0.0)
37
- rspec-core (3.0.2)
38
- rspec-support (~> 3.0.0)
39
- rspec-expectations (3.0.2)
40
- diff-lcs (>= 1.2.0, < 2.0)
41
- rspec-support (~> 3.0.0)
42
- rspec-mocks (3.0.2)
43
- rspec-support (~> 3.0.0)
44
- rspec-support (3.0.2)
45
- thor (0.19.1)
46
-
47
- PLATFORMS
48
- ruby
49
-
50
- DEPENDENCIES
51
- debugger
52
- keen-cli!
53
- rake
54
- rspec