luis 0.1.1beta → 0.1.1

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: d1004f19909ba7c65cc8c17b8b9d098c1a16d9a5
4
- data.tar.gz: 1ff18bf12bff8de28dc5cd1931d2edabdb7cad49
3
+ metadata.gz: 644f4ea3032205c0ebac56d6f8a33dbf84dbb7c8
4
+ data.tar.gz: 4e6970743efa0415f129869f3d8e7d774fd68de3
5
5
  SHA512:
6
- metadata.gz: 2574198b9f8136f10d44ed2429096648250bf91e32461fc6d0e9877b59b3bc126405614643240d3c6c33670a34450f1f7c94eb2b8da5e54c5d55761e9387915f
7
- data.tar.gz: 5d1631d943c5abf0a7c8af2fc72b77670b2c08cca829a4fa1cfbad034df58e4e884ebe7e34e9e36638ecd12521707cf5b0ab3608ad92e7837ff67c77f9989641
6
+ metadata.gz: 968280a0b58392f9a2306e2e52d766134b1fd8f0a81742f2b35ab819962fef31e7c728c7b3358de7479dcc65a564ec4ff4ce0e1bdeffbdd0eecaf9c38cb75be6
7
+ data.tar.gz: 6179aad7009b9593b95e806337bae4a1c7883e07cd3b91b2da292cee0d652285cf67cbbeb1aef59358ef9b9830e2ddd92722aa208c76a10e383bb19c62329a6f
data/README.md CHANGED
@@ -24,7 +24,7 @@ Or install it yourself as:
24
24
  Luis.configure do |config|
25
25
  config.id = "<id>"
26
26
  config.subscription_key ="<key>"
27
- config.preview_mod = true
27
+ config.is_preview_mod = true
28
28
  end
29
29
  ```
30
30
 
data/bin/console CHANGED
@@ -7,8 +7,8 @@ require 'luis'
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 "pry"
11
- # Pry.start
10
+ require 'pry'
11
+ Pry.start
12
12
 
13
- require 'irb'
14
- IRB.start
13
+ # require 'irb'
14
+ # IRB.start
data/lib/luis/base.rb CHANGED
@@ -6,8 +6,17 @@ module Luis
6
6
  # @param [Hash] options hash
7
7
  def initialize(options = {})
8
8
  options.each do |key, value|
9
- instance_variable_set("@#{key}", value)
9
+ instance_variable_set("@#{snake_case(key)}", value)
10
10
  end
11
11
  end
12
+
13
+ private
14
+
15
+ def snake_case(string)
16
+ return string.downcase if string =~ /\A[A-Z]+\z/
17
+ string.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
18
+ .gsub(/([a-z])([A-Z])/, '\1_\2')
19
+ .downcase
20
+ end
12
21
  end
13
22
  end
@@ -2,7 +2,7 @@ module Luis
2
2
  # Luis composite entity class
3
3
  #
4
4
  class CompositeEntity < Base
5
- attr_accessor :parentType, :value, :children
5
+ attr_accessor :parent_type, :value, :children
6
6
 
7
7
  # @return [Array] list of child entities
8
8
  def children
data/lib/luis/dialog.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Luis
2
2
  # Luis dialog class
3
3
  class Dialog < Base
4
- attr_accessor :prompt, :parameterName, :parameterType, :contextId, :status
4
+ attr_accessor :prompt, :parameter_name, :parameter_type, :context_id, :status
5
5
 
6
6
  # @return whether the dialog is finished
7
7
  def finished?
@@ -16,7 +16,7 @@ module Luis
16
16
  # Reply to dialog
17
17
  # @param reply message
18
18
  def reply(query)
19
- Luis.query(query, contextId)
19
+ Luis.query(query, context_id)
20
20
  end
21
21
  end
22
22
  end
data/lib/luis/entity.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Luis
2
2
  # Luis entity class
3
3
  class Entity < Base
4
- attr_accessor :entity, :type, :startIndex, :endIndex, :score
4
+ attr_accessor :entity, :type, :start_index, :end_index, :score
5
5
  end
6
6
  end
data/lib/luis/result.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  module Luis
2
2
  # Luis result class
3
3
  class Result < Base
4
- attr_accessor :query, :intents, :entities, :dialog, :top_scoring_indent
4
+ attr_accessor :query, :intents, :entities, :dialog, :top_scoring_intent
5
5
 
6
6
  # Intent with maximum score
7
7
  # @return intent with maximum score
8
8
  def top_scoring_intent
9
- @topScoringIndent ||= @intents.first
9
+ Intent.new(@top_scoring_intent) || @intents.first
10
10
  end
11
11
 
12
12
  # List of intents
@@ -18,6 +18,7 @@ module Luis
18
18
 
19
19
  # Dialog object
20
20
  def dialog
21
+ return false unless @dialog
21
22
  Dialog.new @dialog
22
23
  end
23
24
 
@@ -26,6 +27,11 @@ module Luis
26
27
  @entities.map { |entity| Entity.new entity }
27
28
  end
28
29
 
30
+ # Entitities with specific type
31
+ def entities_of_type(type)
32
+ @entities.select { |entity| entity['type'] == type }.map { |entity| Entity.new entity }
33
+ end
34
+
29
35
  # Weather dialog is waiting for a response
30
36
  def awaiting_dialog_response?
31
37
  dialog && dialog.question?
data/lib/luis/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Luis
2
- VERSION = '0.1.1beta'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
data/lib/luis.rb CHANGED
@@ -14,10 +14,10 @@ module Luis
14
14
  class << self
15
15
  attr_accessor :id, :subscription_key, :is_preview_mod, :is_verbose
16
16
  end
17
- API_BASE_URI = 'https://api.projectoxford.ai/luis/v1/application'.freeze
17
+ API_BASE_URI = 'https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/%{id}'.freeze
18
18
 
19
19
  def self.api_uri
20
- uri = API_BASE_URI
20
+ uri = format(API_BASE_URI, id: id)
21
21
  uri += '/preview' if is_preview_mod
22
22
  uri
23
23
  end
@@ -45,7 +45,7 @@ module Luis
45
45
  end
46
46
 
47
47
  def self.default_options
48
- options = { 'id' => id, 'subscription-key' => subscription_key }
48
+ options = { 'subscription-key' => subscription_key }
49
49
  options['verbose'] = true if is_verbose
50
50
  options
51
51
  end
data/luis.gemspec CHANGED
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'luis/version'
@@ -22,6 +23,9 @@ Gem::Specification.new do |spec|
22
23
  spec.add_development_dependency 'bundler', '~> 1.12'
23
24
  spec.add_development_dependency 'rake', '~> 10.0'
24
25
  spec.add_development_dependency 'rspec', '~> 3.0'
26
+ spec.add_development_dependency 'vcr'
27
+ spec.add_development_dependency 'webmock'
28
+ spec.add_development_dependency 'pry'
25
29
 
26
30
  spec.add_dependency 'httparty'
27
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1beta
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aboobacker MK
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-05 00:00:00.000000000 Z
11
+ date: 2017-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,48 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: httparty
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -110,12 +152,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
110
152
  version: '0'
111
153
  required_rubygems_version: !ruby/object:Gem::Requirement
112
154
  requirements:
113
- - - ">"
155
+ - - ">="
114
156
  - !ruby/object:Gem::Version
115
- version: 1.3.1
157
+ version: '0'
116
158
  requirements: []
117
159
  rubyforge_project:
118
- rubygems_version: 2.6.6
160
+ rubygems_version: 2.6.11
119
161
  signing_key:
120
162
  specification_version: 4
121
163
  summary: Luis