ecoportal-api-graphql 0.1.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 +7 -0
- data/.gitignore +21 -0
- data/.rspec +3 -0
- data/.rubocop.yml +55 -0
- data/.travis.yml +5 -0
- data/.yardopts +10 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/README.md +20 -0
- data/Rakefile +27 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/bin/setup.ps1 +6 -0
- data/ecoportal-api-graphql.gemspec +34 -0
- data/lib/ecoportal/api/common/graphql/auth_service.rb +66 -0
- data/lib/ecoportal/api/common/graphql/class_helpers.rb +34 -0
- data/lib/ecoportal/api/common/graphql/client.rb +43 -0
- data/lib/ecoportal/api/common/graphql/doc_helpers.rb +10 -0
- data/lib/ecoportal/api/common/graphql/hash_helpers.rb +79 -0
- data/lib/ecoportal/api/common/graphql/http_client.rb +84 -0
- data/lib/ecoportal/api/common/graphql.rb +15 -0
- data/lib/ecoportal/api/common.graphql.rb +8 -0
- data/lib/ecoportal/api/graphql/base/action.rb +36 -0
- data/lib/ecoportal/api/graphql/base/action_category.rb +13 -0
- data/lib/ecoportal/api/graphql/base/connection.rb +33 -0
- data/lib/ecoportal/api/graphql/base/contractor_entity.rb +17 -0
- data/lib/ecoportal/api/graphql/base/date_time.rb +12 -0
- data/lib/ecoportal/api/graphql/base/field.rb +12 -0
- data/lib/ecoportal/api/graphql/base/file_attachment.rb +15 -0
- data/lib/ecoportal/api/graphql/base/file_container.rb +14 -0
- data/lib/ecoportal/api/graphql/base/id_diff_input.rb +11 -0
- data/lib/ecoportal/api/graphql/base/model.rb +33 -0
- data/lib/ecoportal/api/graphql/base/organization.rb +13 -0
- data/lib/ecoportal/api/graphql/base/page.rb +12 -0
- data/lib/ecoportal/api/graphql/base/page_info.rb +12 -0
- data/lib/ecoportal/api/graphql/base/payload.rb +25 -0
- data/lib/ecoportal/api/graphql/base/person_member.rb +20 -0
- data/lib/ecoportal/api/graphql/base/query.rb +61 -0
- data/lib/ecoportal/api/graphql/base/query_connection.rb +56 -0
- data/lib/ecoportal/api/graphql/base/resource.rb +13 -0
- data/lib/ecoportal/api/graphql/base/validation_errors.rb +23 -0
- data/lib/ecoportal/api/graphql/base.rb +28 -0
- data/lib/ecoportal/api/graphql/connection/action.rb +11 -0
- data/lib/ecoportal/api/graphql/connection/contractor_entity.rb +11 -0
- data/lib/ecoportal/api/graphql/connection/person_member.rb +11 -0
- data/lib/ecoportal/api/graphql/connection.rb +12 -0
- data/lib/ecoportal/api/graphql/fragment/contractor_entity.rb +19 -0
- data/lib/ecoportal/api/graphql/fragment/pagination.rb +17 -0
- data/lib/ecoportal/api/graphql/fragment.rb +50 -0
- data/lib/ecoportal/api/graphql/input/create_contractor_entity.rb +14 -0
- data/lib/ecoportal/api/graphql/input/destroy_contractor_entity.rb +11 -0
- data/lib/ecoportal/api/graphql/input/search.rb +13 -0
- data/lib/ecoportal/api/graphql/input/search_filter.rb +12 -0
- data/lib/ecoportal/api/graphql/input/search_sorter.rb +11 -0
- data/lib/ecoportal/api/graphql/input/update_contractor_entity.rb +10 -0
- data/lib/ecoportal/api/graphql/input.rb +15 -0
- data/lib/ecoportal/api/graphql/model/account.rb +13 -0
- data/lib/ecoportal/api/graphql/model/action.rb +21 -0
- data/lib/ecoportal/api/graphql/model/contractor_entity.rb +12 -0
- data/lib/ecoportal/api/graphql/model/field.rb +10 -0
- data/lib/ecoportal/api/graphql/model/file_attachment.rb +10 -0
- data/lib/ecoportal/api/graphql/model/file_container.rb +11 -0
- data/lib/ecoportal/api/graphql/model/organization.rb +46 -0
- data/lib/ecoportal/api/graphql/model/page.rb +10 -0
- data/lib/ecoportal/api/graphql/model/person_member.rb +15 -0
- data/lib/ecoportal/api/graphql/model/resource.rb +12 -0
- data/lib/ecoportal/api/graphql/model/user.rb +12 -0
- data/lib/ecoportal/api/graphql/model.rb +20 -0
- data/lib/ecoportal/api/graphql/payload/create_contractor_entity.rb +11 -0
- data/lib/ecoportal/api/graphql/payload/destroy_contractor_entity.rb +10 -0
- data/lib/ecoportal/api/graphql/payload/update_contractor_entity.rb +10 -0
- data/lib/ecoportal/api/graphql/payload.rb +12 -0
- data/lib/ecoportal/api/graphql/query/actions.rb +94 -0
- data/lib/ecoportal/api/graphql/query/contractor_entities.rb +64 -0
- data/lib/ecoportal/api/graphql/query.rb +11 -0
- data/lib/ecoportal/api/graphql.rb +38 -0
- data/lib/ecoportal/api/graphql_version.rb +5 -0
- data/lib/ecoportal/api-graphql.rb +10 -0
- data/tests/actions_get.rb +8 -0
- data/tests/contractor_entities_get.rb +20 -0
- data/tests/local_libs.rb +14 -0
- metadata +278 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Model
|
|
5
|
+
class Action < Ecoportal::API::GraphQL::Base::Action
|
|
6
|
+
embeds_one :actionCategory, klass: GraphQL::Base::ActionCategory
|
|
7
|
+
embeds_one :dueOrClosedDate, klass: GraphQL::Base::DateTime
|
|
8
|
+
embeds_many :assignedTo, klass: GraphQL::Model::PersonMember
|
|
9
|
+
embeds_one :creator, klass: GraphQL::Model::PersonMember
|
|
10
|
+
embeds_one :creatorUser, klass: GraphQL::Model::User
|
|
11
|
+
embeds_one :updater, klass: GraphQL::Model::PersonMember
|
|
12
|
+
embeds_one :updaterUser, klass: GraphQL::Model::User
|
|
13
|
+
embeds_one :completer, klass: GraphQL::Model::PersonMember
|
|
14
|
+
embeds_many :fileContainers, klass: GraphQL::Model::FileContainer
|
|
15
|
+
embeds_many :linkedResources, klass: GraphQL::Model::Resource
|
|
16
|
+
#embeds_many :activities, klass: GraphQL::Activity::Action
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Model
|
|
5
|
+
class ContractorEntity < Ecoportal::API::GraphQL::Base::ContractorEntity
|
|
6
|
+
embeds_one :associatedPeople, klass: "Ecoportal::API::GraphQL::Connections::PersonMemberConnection"
|
|
7
|
+
embeds_many :leadContractors, enum_class: "Ecoportal::API::GraphQL::Model::PersonMember"
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Model
|
|
5
|
+
class Organization < Ecoportal::API::GraphQL::Base::Organization
|
|
6
|
+
class << self
|
|
7
|
+
#userGroup, userGroups,
|
|
8
|
+
#tagTree, tagTrees,
|
|
9
|
+
#register, registers
|
|
10
|
+
#personMembers, attachablePersonMembers
|
|
11
|
+
#contractorEntity,
|
|
12
|
+
|
|
13
|
+
# @return [Connection::ContractorEntity, Query::ContractorEntities]
|
|
14
|
+
def contractorEntities(**kargs, &block)
|
|
15
|
+
if kargs.empty?
|
|
16
|
+
contractorEntitiesQuery
|
|
17
|
+
else
|
|
18
|
+
contractorEntitiesQuery.query(**kargs, &block)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def contractorEntitiesQuery
|
|
23
|
+
Ecoportal::API::GraphQL::Query::ContractorEntities.new(client)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @return [Connection::Action, Query::Actions]
|
|
27
|
+
def actions(**kargs, &block)
|
|
28
|
+
if kargs.empty?
|
|
29
|
+
actionsQuery
|
|
30
|
+
else
|
|
31
|
+
actionsQuery.query(**kargs, &block)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def actionsQuery
|
|
36
|
+
Ecoportal::API::GraphQL::Query::Actions.new(client)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
#actionCategories
|
|
40
|
+
#action, actionsByPage, actionsCounter
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Model
|
|
5
|
+
class PersonMember < Ecoportal::API::GraphQL::Base::PersonMember
|
|
6
|
+
embeds_one :contractorOrganization, klass: "Ecoportal::API::GraphQL::Model::ContractorEntity"
|
|
7
|
+
embeds_one :account, klass: Ecoportal::API::GraphQL::Model::Account
|
|
8
|
+
|
|
9
|
+
# embeds_many :privateFields, enum_class: Ecoportal::API::GraphQL::Model::MemberSchemaFields
|
|
10
|
+
# embeds_many :publicFields, enum_class: Ecoportal::API::GraphQL::Model::MemberSchemaFields
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Model
|
|
5
|
+
class Resource < Ecoportal::API::GraphQL::Base::Resource
|
|
6
|
+
embeds_one :page, klass: "Ecoportal::API::GraphQL::Model::Page"
|
|
7
|
+
embeds_one :field, klass: "Ecoportal::API::GraphQL::Model::Field"
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Model
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
require 'ecoportal/api/graphql/model/account'
|
|
11
|
+
require 'ecoportal/api/graphql/model/user'
|
|
12
|
+
require 'ecoportal/api/graphql/model/person_member'
|
|
13
|
+
require 'ecoportal/api/graphql/model/file_attachment'
|
|
14
|
+
require 'ecoportal/api/graphql/model/file_container'
|
|
15
|
+
require 'ecoportal/api/graphql/model/field'
|
|
16
|
+
require 'ecoportal/api/graphql/model/page'
|
|
17
|
+
require 'ecoportal/api/graphql/model/resource'
|
|
18
|
+
require 'ecoportal/api/graphql/model/action'
|
|
19
|
+
require 'ecoportal/api/graphql/model/contractor_entity'
|
|
20
|
+
require 'ecoportal/api/graphql/model/organization'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Payload
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
require 'ecoportal/api/graphql/payload/create_contractor_entity'
|
|
11
|
+
require 'ecoportal/api/graphql/payload/update_contractor_entity'
|
|
12
|
+
require 'ecoportal/api/graphql/payload/destroy_contractor_entity'
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Query
|
|
5
|
+
class Actions < Ecoportal::API::GraphQL::Base::QueryConnection
|
|
6
|
+
class_resolver :item_class, Ecoportal::API::GraphQL::Model::Action
|
|
7
|
+
class_resolver :connection_class, Ecoportal::API::GraphQL::Connection::Action
|
|
8
|
+
|
|
9
|
+
def query(path: default_base_path, **kargs, &block)
|
|
10
|
+
path ||= default_base_path
|
|
11
|
+
kargs = self.class.slice_params(kargs)
|
|
12
|
+
request(*path, "actions") do
|
|
13
|
+
next client.query(kargs, &basic_block(&block)) if block_given?
|
|
14
|
+
client.query(kargs, &basic_block)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def default_base_path
|
|
19
|
+
["currentOrganization"]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def basic_block(&block)
|
|
25
|
+
connection_block = block || default_connection_block
|
|
26
|
+
Proc.new {
|
|
27
|
+
query(searchConf: :Search, after: :string, before: :string, first: :int, last: :int) {
|
|
28
|
+
currentOrganization {
|
|
29
|
+
actions(
|
|
30
|
+
searchConf: :searchConf,
|
|
31
|
+
after: :after,
|
|
32
|
+
before: :before,
|
|
33
|
+
first: :first,
|
|
34
|
+
last: :last,
|
|
35
|
+
&connection_block
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def default_connection_block
|
|
43
|
+
Proc.new {
|
|
44
|
+
totalCount
|
|
45
|
+
pageInfo {
|
|
46
|
+
endCursor
|
|
47
|
+
}
|
|
48
|
+
nodes {
|
|
49
|
+
id
|
|
50
|
+
altId
|
|
51
|
+
actionCategory {
|
|
52
|
+
name
|
|
53
|
+
value
|
|
54
|
+
}
|
|
55
|
+
standaloneAction
|
|
56
|
+
status
|
|
57
|
+
relativeStatus
|
|
58
|
+
archived
|
|
59
|
+
tags
|
|
60
|
+
name
|
|
61
|
+
description
|
|
62
|
+
assignedTo {
|
|
63
|
+
name
|
|
64
|
+
email
|
|
65
|
+
}
|
|
66
|
+
dueDate {
|
|
67
|
+
dateTime
|
|
68
|
+
timeZone
|
|
69
|
+
}
|
|
70
|
+
completedAt {
|
|
71
|
+
dateTime
|
|
72
|
+
timeZone
|
|
73
|
+
}
|
|
74
|
+
completer {
|
|
75
|
+
name
|
|
76
|
+
email
|
|
77
|
+
}
|
|
78
|
+
linkedResources {
|
|
79
|
+
page {
|
|
80
|
+
name
|
|
81
|
+
mouldCounter
|
|
82
|
+
}
|
|
83
|
+
field {
|
|
84
|
+
label
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Query
|
|
5
|
+
class ContractorEntities < Ecoportal::API::GraphQL::Base::QueryConnection
|
|
6
|
+
class_resolver :item_class, Ecoportal::API::GraphQL::Model::ContractorEntity
|
|
7
|
+
class_resolver :connection_class, Ecoportal::API::GraphQL::Connection::ContractorEntity
|
|
8
|
+
|
|
9
|
+
def query(path: default_base_path, **kargs, &block)
|
|
10
|
+
path ||= default_base_path
|
|
11
|
+
kargs = self.class.slice_params(kargs)
|
|
12
|
+
ap = access_point(path)
|
|
13
|
+
request(*path, "contractorEntities") do
|
|
14
|
+
next client.query(kargs, &basic_block(&block)) if block_given?
|
|
15
|
+
client.query(kargs, &basic_block)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def default_base_path
|
|
20
|
+
["currentOrganization"]
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
def basic_block(&block)
|
|
26
|
+
connection_block = block || default_connection_block
|
|
27
|
+
Proc.new {
|
|
28
|
+
query(searchConf: :Search, after: :string, before: :string, first: :int, last: :int) {
|
|
29
|
+
currentOrganization {
|
|
30
|
+
contractorEntities(
|
|
31
|
+
searchConf: :searchConf,
|
|
32
|
+
after: :after,
|
|
33
|
+
before: :before,
|
|
34
|
+
first: :first,
|
|
35
|
+
last: :last,
|
|
36
|
+
&connection_block
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def default_connection_block
|
|
44
|
+
Proc.new {
|
|
45
|
+
totalCount
|
|
46
|
+
pageInfo {
|
|
47
|
+
endCursor
|
|
48
|
+
}
|
|
49
|
+
nodes {
|
|
50
|
+
id
|
|
51
|
+
name
|
|
52
|
+
schemaId
|
|
53
|
+
active
|
|
54
|
+
approved
|
|
55
|
+
associatedPeopleIds
|
|
56
|
+
leadContractorIds
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
# @attr_reader client [Common::GraphQL::Client] a client object that holds the configuration of the api connection.
|
|
4
|
+
# @attr_reader logger [Logger] the logger.
|
|
5
|
+
class GraphQL
|
|
6
|
+
include Ecoportal::API::Common::GraphQL::ClassHelpers
|
|
7
|
+
|
|
8
|
+
attr_reader :client
|
|
9
|
+
|
|
10
|
+
# Creates a `GraphQL` object to interact with the ecoPortal `GraphQL API`.
|
|
11
|
+
# @param org_id [String] the id of the target organization.
|
|
12
|
+
# It defaults to the environmental variable `ORGANIZATION_ID`, if defined
|
|
13
|
+
# @param logger [Logger] an object with `Logger` interface to generate logs.
|
|
14
|
+
def initialize(org_id: ENV['ORGANIZATION_ID'])
|
|
15
|
+
@client = Ecoportal::API::Common::GraphQL::Client.new(org_id: org_id, no_schema: true)
|
|
16
|
+
@fragments = Ecoportal::API::GraphQL::Fragment.new(client)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def currentOrganizationClass
|
|
20
|
+
API::GraphQL::Model::Organization.tap do |org_class|
|
|
21
|
+
org_class.client = client
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def currentOrganization
|
|
26
|
+
currentOrganizationClass
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
require 'ecoportal/api/graphql/base'
|
|
33
|
+
require 'ecoportal/api/graphql/model'
|
|
34
|
+
require 'ecoportal/api/graphql/connection'
|
|
35
|
+
require 'ecoportal/api/graphql/payload'
|
|
36
|
+
require 'ecoportal/api/graphql/input'
|
|
37
|
+
require 'ecoportal/api/graphql/fragment'
|
|
38
|
+
require 'ecoportal/api/graphql/query'
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
require_relative 'local_libs'
|
|
2
|
+
require 'ecoportal/api-graphql'
|
|
3
|
+
|
|
4
|
+
api = Ecoportal::API::GraphQL.new
|
|
5
|
+
api.currentOrganization.actions.each_with_index do |action, idx|
|
|
6
|
+
break if idx >= 14
|
|
7
|
+
puts "#{idx+1}. '#{action.name}' (#{action.altId}): #{action.status} (#{action.relativeStatus})"
|
|
8
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require_relative 'local_libs'
|
|
2
|
+
require 'ecoportal/api-graphql'
|
|
3
|
+
|
|
4
|
+
api = Ecoportal::API::GraphQL.new
|
|
5
|
+
api.currentOrganization.contractorEntities.each_with_index do |entity, idx|
|
|
6
|
+
break if idx >= 14
|
|
7
|
+
puts "#{idx+1}. #{entity.name}"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
result = api.currentOrganization.contractorEntities(first: 10)
|
|
11
|
+
result.nodes.each {|entity| puts "• #{entity.name}"}
|
|
12
|
+
|
|
13
|
+
result = api.currentOrganization.contractorEntities(first: 5) {
|
|
14
|
+
nodes {
|
|
15
|
+
id
|
|
16
|
+
name
|
|
17
|
+
approved
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
result.nodes.each {|entity| puts "#{entity.name} => approved? #{entity.approved}"}
|
data/tests/local_libs.rb
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
base_dir = 'C:/ruby_scripts/git'
|
|
2
|
+
|
|
3
|
+
api_path = File.join(base_dir,'/ecoportal-api/lib')
|
|
4
|
+
$LOAD_PATH.unshift File.expand_path(api_path)
|
|
5
|
+
#require 'ecoportal/api'
|
|
6
|
+
api_req = File.join(base_dir,'/ecoportal-api/lib/ecoportal/api')
|
|
7
|
+
require api_req
|
|
8
|
+
|
|
9
|
+
api_v2_path = File.join(base_dir,'/ecoportal-api-v2/lib')
|
|
10
|
+
$LOAD_PATH.unshift File.expand_path(api_v2_path)
|
|
11
|
+
#require 'ecoportal/api-v2'
|
|
12
|
+
require File.join(base_dir,'/ecoportal-api-v2/lib/ecoportal/api-v2')
|
|
13
|
+
api_path = '../lib'
|
|
14
|
+
$LOAD_PATH.unshift File.expand_path(api_path)
|