Skip to content
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
97b97e9
Add "quickstart" samples.
jmdobry Sep 14, 2016
beab134
Tweak Datastore quickstart sample.
jmdobry Oct 5, 2016
318d761
Tweak Datastore quickstart sample.
jmdobry Oct 5, 2016
bb13651
Change datastore quickstart sample to create a task.
jmdobry Oct 6, 2016
a44f362
Changes:
Oct 6, 2016
48b30fe
Changes:
Oct 6, 2016
4bcdf07
Changes:
Oct 7, 2016
4f1b02c
Changes:
Oct 7, 2016
e81e741
Changes:
Oct 7, 2016
2590342
Changes:
Oct 8, 2016
5e9c228
Changes:
Oct 8, 2016
740c7cd
Simplify print statement in Vision quickstart.
jmdobry Oct 10, 2016
ca30bc2
Changes:
Oct 10, 2016
b41be6a
Changes:
Oct 10, 2016
252f7a0
Changes:
Oct 10, 2016
88e99a5
Changes:
Oct 10, 2016
c82d70c
Changes:
Oct 10, 2016
b426429
Changes:
Oct 10, 2016
135527c
Changes:
Oct 10, 2016
99c4689
Changes:
Oct 10, 2016
c389c77
Changes:
Oct 11, 2016
019932c
Changes:
Oct 11, 2016
87386ef
Changes:
Oct 11, 2016
2d1367f
Changes:
Oct 11, 2016
71a0f2f
Changes:
Oct 11, 2016
c2994e0
Changes:
Oct 11, 2016
73fdf64
Removed extra spaces in logging/quickstart.rb
Oct 11, 2016
97f366e
Removed %Q{} and used single-quotes instead
Oct 11, 2016
3249d27
Removed spaces from assignment in trasnlate
Oct 11, 2016
e522da5
Removed multiple label lookup in Vision quickstart_spec.rb (using cat)!
Oct 12, 2016
01cd1d8
Added wait_until helper function and removed direct call to sleep
Oct 12, 2016
183ef4b
Changes:
Oct 12, 2016
7b31107
Merge branch 'master' of github.com:GoogleCloudPlatform/ruby-docs-sam…
Oct 12, 2016
a450c94
Changes:
Oct 12, 2016
4881ae7
Modified expectation to attempt to fix Travis CI
Oct 13, 2016
1e97352
Refactor Logging Quickstart spec and fix by adding order clause to en…
Oct 13, 2016
a06b18a
Merge pull request #90 from GoogleCloudPlatform/logging-quickstart-spec
frankyn Oct 13, 2016
c0586e7
Removed some spacing found by Vim
Oct 13, 2016
73b620b
Changed %{} to %Q{} to be more explicit.
Oct 14, 2016
0a17905
Removed order from filter. Using full project path
Oct 18, 2016
0e6e529
Modified quickstart spec test to check poliarity
Oct 19, 2016
b7eef07
Language Removed _client, _test_client, and shabang line
Oct 20, 2016
3447327
Speech quickstart changed fileName -> file_name
Oct 20, 2016
ff23358
Vision quickstart: changed fileName -> file_name
Oct 20, 2016
64953d3
Vision quickstart spec: added better description
Oct 20, 2016
5796925
Language/quickstart.rb Remove unwanted spacing.
Oct 20, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions bigquery/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@ Commands:
query <query>
query_job <query>
```

34 changes: 34 additions & 0 deletions bigquery/quickstart.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# [START bigquery_quickstart]
# Imports the Google Cloud client library
require "google/cloud"

# Your Google Cloud Platform project ID
project_id = "YOUR_PROJECT_ID"

# Instantiates a client
gcloud = Google::Cloud.new project_id
bigquery = gcloud.bigquery

# The name for the new dataset
dataset_name = "my_new_dataset"

# Creates the new dataset
dataset = bigquery.create_dataset dataset_name

puts "Dataset #{dataset.dataset_id} created."
# [END bigquery_quickstart]

46 changes: 46 additions & 0 deletions bigquery/spec/quickstart_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require "rspec"
require "google/cloud"

describe "BigQuery Quickstart" do

it "creates a new dataset" do
# Initialize test objects

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove all of the comments from the specs?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes!

gcloud = Google::Cloud.new ENV["GOOGLE_CLOUD_PROJECT"]
bigquery = gcloud.bigquery

# Prime BigQuery for test
if bigquery.dataset "my_new_dataset"
bigquery.dataset("my_new_dataset").delete
end

expect(bigquery.dataset "my_new_dataset").to be nil
expect(Google::Cloud).to receive(:new).
with("YOUR_PROJECT_ID").
and_return(gcloud)

# Run quickstart
expect {
load File.expand_path("../quickstart.rb", __dir__)
}.to output(
"Dataset my_new_dataset created\.\n"
).to_stdout

expect(bigquery.dataset "my_new_dataset").not_to be nil
end

end

43 changes: 43 additions & 0 deletions datastore/quickstart.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# [START datastore_quickstart]
# Imports the Google Cloud client library
require "google/cloud"

# Your Google Cloud Platform project ID
project_id = "YOUR_PROJECT_ID"

# Instantiates a client
gcloud = Google::Cloud.new project_id
datastore_client = gcloud.datastore

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_client

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood.


# The kind for the new entity
kind = "Task"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not align these. There are newlines with comments between them and it is not idiomatic to align these.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood

# The name/ID for the new entity
name = "sampletask1"
# The Cloud Datastore key for the new entity
task_key = datastore_client.key kind, name

# Prepares the new entity
task = datastore_client.entity task_key do |t|
t["description"] = "Buy milk"
end

# Saves the entity
datastore_client.save task

puts "Saved #{task.key.name}: #{task['description']}"
# [END datastore_quickstart]

49 changes: 49 additions & 0 deletions datastore/spec/quickstart_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require "rspec"
require "google/cloud"

describe "Datastore Quickstart" do

it "creates a new entity" do
# Initalize test objects
gcloud = Google::Cloud.new ENV["GOOGLE_CLOUD_PROJECT"]
datastore = gcloud.datastore
task_key = datastore.key "Task", "sampletask1"

# Prime DataStore for test
if datastore.find task_key
task = datastore.find task_key
datastore.delete task
end

expect(datastore.find task_key).to be nil
expect(Google::Cloud).to receive(:new).with("YOUR_PROJECT_ID").
and_return(gcloud)

# Run quickstart
expect {
load File.expand_path("../quickstart.rb", __dir__)
}.to output {
"Saved Task: Buy milk\n"
}.to_stdout

# Check entity was saved
task_key = datastore.find(task_key)
expect(task_key).not_to be nil
expect(task_key["description"]).to eq "Buy milk"
end

end
36 changes: 36 additions & 0 deletions language/quickstart.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# [START language_quickstart]
# Imports the Google Cloud client library
require "google/cloud"

# Your Google Cloud Platform project ID
project_id = "YOUR_PROJECT_ID"

# Instantiates a client
gcloud = Google::Cloud.new project_id
language_client = gcloud.language

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

language_client --> language


# The text to analyze
text = "Hello, world!"
document = language_client.document text

# Detects the sentiment of the text
sentiment = document.sentiment

puts "Text: #{text}"
puts "Sentiment: #{sentiment.polarity}, #{sentiment.magnitude}"
# [END language_quickstart]

37 changes: 37 additions & 0 deletions language/spec/quickstart_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/ruby

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove shabang line

# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require "rspec"
require "google/cloud"

describe "Language Quickstart" do

it "detect sentiment" do
# Initialize test objects
gcloud_test_client = Google::Cloud.new ENV["GOOGLE_CLOUD_PROJECT"]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gcloud_test_client --> gloud

expect(Google::Cloud).to receive(:new).with("YOUR_PROJECT_ID").
and_return(gcloud_test_client)

# Run quickstart
expect {
load File.expand_path("../quickstart.rb", __dir__)
}.to output(
"Text: Hello, world!\n" +
"Sentiment: 1.0, 0.6000000238418579\n"
).to_stdout
end

end

40 changes: 40 additions & 0 deletions logging/quickstart.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# [START logging_quickstart]
# Imports the Google Cloud client library
require "google/cloud"

# Your Google Cloud Platform project ID
project_id = "YOUR_PROJECT_ID"

# Instantiates a client
gcloud = Google::Cloud.new project_id

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a ton of extra space characters here the need to be removed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood

logging = gcloud.logging

# Prepares a log entry
entry = logging.entry
# The data to log
entry.payload = "Hello, world!"
# The name of the log to write to
entry.log_name = "my-log"
# The resource associated with the data
entry.resource.type = "global"

# Writes the log entry
logging.write_entries entry

puts "Logged #{entry.payload}"
# [END logging_quickstart]

53 changes: 53 additions & 0 deletions logging/spec/quickstart_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require "rspec"
require "google/cloud"

describe "Logging Quickstart" do

it "logs a new entry" do
# Initialize test objects
entry_filter = %Q{logName:"my-log" textPayload:"Hello, world!"}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not use any %{ } delimiters

Use a single quoted string

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood

gcloud = Google::Cloud.new ENV["GOOGLE_CLOUD_PROJECT"]
logging = gcloud.logging

expect(Google::Cloud).to receive(:new).with("YOUR_PROJECT_ID").
and_return(gcloud)

# Prepare for tests
entries = logging.entries filter: entry_filter
unless entries.empty?
logging.delete_log "my-log"
end

expect(logging.entries(filter: entry_filter)).to be_empty

# Log a new entry
expect {
load File.expand_path("../quickstart.rb", __dir__)
}.to output(
"Logged Hello, world!\n"
).to_stdout

# Allow the entry some time to propagate
sleep(5)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not use sleep in tests. This results in flaky specs.

Why is 5 seconds chosen? Can this take longer than 5 seconds and is that acceptable? Would it work sometimes if only 1 second were waited for?

Recommendation: copy/paste wait_until helper into this spec. We will extract to shared helper file asap.

See https://github.com/GoogleCloudPlatform/ruby-docs-samples/blob/2016.09.29/logging/spec/sample_spec.rb#L21-L28

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was a simple guess nothing exact. I changed the direct sleep call to use wait_until instead.


# Did we actually write a new entry?
entries = logging.entries filter: entry_filter
expect(entries).to_not be_empty
end

end

34 changes: 34 additions & 0 deletions pubsub/quickstart.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2016 Google, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# [START pubsub_quickstart]
# Imports the Google Cloud client library
require "google/cloud"

# Your Google Cloud Platform project ID
project_id = "YOUR_PROJECT_ID"

# Instantiates a client
gcloud = Google::Cloud.new project_id
pubsub = gcloud.pubsub

# The name for the new topic
topic_name = "my-new-topic"

# Creates the new topic
topic = pubsub.create_topic topic_name

puts "Topic #{topic.name} created."
# [END pubsub_quickstart]

Loading