ysm4r 0.1

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.
Files changed (124) hide show
  1. data/Authors.txt +2 -0
  2. data/ChangeLog.txt +1 -0
  3. data/License.txt +13 -0
  4. data/Rakefile +209 -0
  5. data/Readme.txt +4 -0
  6. data/clean.sh +3 -0
  7. data/lib/soapex/driver.rb +13 -0
  8. data/lib/soapex/error.rb +49 -0
  9. data/lib/soapex/mapping.rb +31 -0
  10. data/lib/soapex/wsdl2ruby.rb +166 -0
  11. data/lib/ysm4r.rb +4 -0
  12. data/lib/ysm4r/client.rb +120 -0
  13. data/lib/ysm4r/service.rb +68 -0
  14. data/lib/ysm4r/v1/AccountService.rb +370 -0
  15. data/lib/ysm4r/v1/AccountServiceDriver.rb +162 -0
  16. data/lib/ysm4r/v1/AccountServiceMappingRegistry.rb +509 -0
  17. data/lib/ysm4r/v1/AdGroupService.rb +649 -0
  18. data/lib/ysm4r/v1/AdGroupServiceDriver.rb +226 -0
  19. data/lib/ysm4r/v1/AdGroupServiceMappingRegistry.rb +864 -0
  20. data/lib/ysm4r/v1/AdService.rb +533 -0
  21. data/lib/ysm4r/v1/AdServiceDriver.rb +178 -0
  22. data/lib/ysm4r/v1/AdServiceMappingRegistry.rb +753 -0
  23. data/lib/ysm4r/v1/BasicReportService.rb +259 -0
  24. data/lib/ysm4r/v1/BasicReportServiceDriver.rb +98 -0
  25. data/lib/ysm4r/v1/BasicReportServiceMappingRegistry.rb +389 -0
  26. data/lib/ysm4r/v1/BidInformationService.rb +69 -0
  27. data/lib/ysm4r/v1/BidInformationServiceDriver.rb +50 -0
  28. data/lib/ysm4r/v1/BidInformationServiceMappingRegistry.rb +135 -0
  29. data/lib/ysm4r/v1/BudgetingService.rb +161 -0
  30. data/lib/ysm4r/v1/BudgetingServiceDriver.rb +98 -0
  31. data/lib/ysm4r/v1/BudgetingServiceMappingRegistry.rb +230 -0
  32. data/lib/ysm4r/v1/CampaignService.rb +644 -0
  33. data/lib/ysm4r/v1/CampaignServiceDriver.rb +210 -0
  34. data/lib/ysm4r/v1/CampaignServiceMappingRegistry.rb +909 -0
  35. data/lib/ysm4r/v1/ExcludedWordsService.rb +294 -0
  36. data/lib/ysm4r/v1/ExcludedWordsServiceDriver.rb +122 -0
  37. data/lib/ysm4r/v1/ExcludedWordsServiceMappingRegistry.rb +469 -0
  38. data/lib/ysm4r/v1/ForecastService.rb +200 -0
  39. data/lib/ysm4r/v1/ForecastServiceDriver.rb +66 -0
  40. data/lib/ysm4r/v1/ForecastServiceMappingRegistry.rb +359 -0
  41. data/lib/ysm4r/v1/KeywordResearchService.rb +290 -0
  42. data/lib/ysm4r/v1/KeywordResearchServiceDriver.rb +66 -0
  43. data/lib/ysm4r/v1/KeywordResearchServiceMappingRegistry.rb +548 -0
  44. data/lib/ysm4r/v1/KeywordService.rb +671 -0
  45. data/lib/ysm4r/v1/KeywordServiceDriver.rb +218 -0
  46. data/lib/ysm4r/v1/KeywordServiceMappingRegistry.rb +913 -0
  47. data/lib/ysm4r/v1/LocationService.rb +53 -0
  48. data/lib/ysm4r/v1/LocationServiceDriver.rb +50 -0
  49. data/lib/ysm4r/v1/LocationServiceMappingRegistry.rb +111 -0
  50. data/lib/ysm4r/v1/MasterAccountService.rb +289 -0
  51. data/lib/ysm4r/v1/MasterAccountServiceDriver.rb +74 -0
  52. data/lib/ysm4r/v1/MasterAccountServiceMappingRegistry.rb +414 -0
  53. data/lib/ysm4r/v1/UpgradeService.rb +72 -0
  54. data/lib/ysm4r/v1/UpgradeServiceDriver.rb +58 -0
  55. data/lib/ysm4r/v1/UpgradeServiceMappingRegistry.rb +145 -0
  56. data/lib/ysm4r/v1/UserManagementService.rb +766 -0
  57. data/lib/ysm4r/v1/UserManagementServiceDriver.rb +290 -0
  58. data/lib/ysm4r/v1/UserManagementServiceMappingRegistry.rb +1057 -0
  59. data/lib/ysm4r/v1/sandbox/LocationService.rb +53 -0
  60. data/lib/ysm4r/v1/sandbox/LocationServiceDriver.rb +50 -0
  61. data/lib/ysm4r/v1/sandbox/LocationServiceMappingRegistry.rb +111 -0
  62. data/lib/ysm4r/v1/sandbox/UpgradeService.rb +72 -0
  63. data/lib/ysm4r/v1/sandbox/UpgradeServiceDriver.rb +58 -0
  64. data/lib/ysm4r/v1/sandbox/UpgradeServiceMappingRegistry.rb +145 -0
  65. data/lib/ysm4r/v2/AccountService.rb +372 -0
  66. data/lib/ysm4r/v2/AccountServiceDriver.rb +162 -0
  67. data/lib/ysm4r/v2/AccountServiceMappingRegistry.rb +510 -0
  68. data/lib/ysm4r/v2/AdGroupService.rb +649 -0
  69. data/lib/ysm4r/v2/AdGroupServiceDriver.rb +226 -0
  70. data/lib/ysm4r/v2/AdGroupServiceMappingRegistry.rb +864 -0
  71. data/lib/ysm4r/v2/AdService.rb +553 -0
  72. data/lib/ysm4r/v2/AdServiceDriver.rb +186 -0
  73. data/lib/ysm4r/v2/AdServiceMappingRegistry.rb +774 -0
  74. data/lib/ysm4r/v2/BasicReportService.rb +272 -0
  75. data/lib/ysm4r/v2/BasicReportServiceDriver.rb +98 -0
  76. data/lib/ysm4r/v2/BasicReportServiceMappingRegistry.rb +389 -0
  77. data/lib/ysm4r/v2/BidInformationService.rb +109 -0
  78. data/lib/ysm4r/v2/BidInformationServiceDriver.rb +66 -0
  79. data/lib/ysm4r/v2/BidInformationServiceMappingRegistry.rb +177 -0
  80. data/lib/ysm4r/v2/BudgetingService.rb +161 -0
  81. data/lib/ysm4r/v2/BudgetingServiceDriver.rb +98 -0
  82. data/lib/ysm4r/v2/BudgetingServiceMappingRegistry.rb +230 -0
  83. data/lib/ysm4r/v2/CampaignService.rb +644 -0
  84. data/lib/ysm4r/v2/CampaignServiceDriver.rb +210 -0
  85. data/lib/ysm4r/v2/CampaignServiceMappingRegistry.rb +909 -0
  86. data/lib/ysm4r/v2/CompanyService.rb +68 -0
  87. data/lib/ysm4r/v2/CompanyServiceDriver.rb +50 -0
  88. data/lib/ysm4r/v2/CompanyServiceMappingRegistry.rb +136 -0
  89. data/lib/ysm4r/v2/ExcludedWordsService.rb +294 -0
  90. data/lib/ysm4r/v2/ExcludedWordsServiceDriver.rb +122 -0
  91. data/lib/ysm4r/v2/ExcludedWordsServiceMappingRegistry.rb +469 -0
  92. data/lib/ysm4r/v2/ForecastService.rb +200 -0
  93. data/lib/ysm4r/v2/ForecastServiceDriver.rb +66 -0
  94. data/lib/ysm4r/v2/ForecastServiceMappingRegistry.rb +359 -0
  95. data/lib/ysm4r/v2/KeywordResearchService.rb +369 -0
  96. data/lib/ysm4r/v2/KeywordResearchServiceDriver.rb +82 -0
  97. data/lib/ysm4r/v2/KeywordResearchServiceMappingRegistry.rb +673 -0
  98. data/lib/ysm4r/v2/KeywordService.rb +691 -0
  99. data/lib/ysm4r/v2/KeywordServiceDriver.rb +226 -0
  100. data/lib/ysm4r/v2/KeywordServiceMappingRegistry.rb +934 -0
  101. data/lib/ysm4r/v2/LocationService.rb +53 -0
  102. data/lib/ysm4r/v2/LocationServiceDriver.rb +50 -0
  103. data/lib/ysm4r/v2/LocationServiceMappingRegistry.rb +111 -0
  104. data/lib/ysm4r/v2/MasterAccountService.rb +332 -0
  105. data/lib/ysm4r/v2/MasterAccountServiceDriver.rb +82 -0
  106. data/lib/ysm4r/v2/MasterAccountServiceMappingRegistry.rb +480 -0
  107. data/lib/ysm4r/v2/UpgradeService.rb +72 -0
  108. data/lib/ysm4r/v2/UpgradeServiceDriver.rb +58 -0
  109. data/lib/ysm4r/v2/UpgradeServiceMappingRegistry.rb +145 -0
  110. data/lib/ysm4r/v2/UserManagementService.rb +766 -0
  111. data/lib/ysm4r/v2/UserManagementServiceDriver.rb +290 -0
  112. data/lib/ysm4r/v2/UserManagementServiceMappingRegistry.rb +1057 -0
  113. data/lib/ysm4r/v2/sandbox/LocationService.rb +53 -0
  114. data/lib/ysm4r/v2/sandbox/LocationServiceDriver.rb +50 -0
  115. data/lib/ysm4r/v2/sandbox/LocationServiceMappingRegistry.rb +111 -0
  116. data/lib/ysm4r/v2/sandbox/UpgradeService.rb +72 -0
  117. data/lib/ysm4r/v2/sandbox/UpgradeServiceDriver.rb +58 -0
  118. data/lib/ysm4r/v2/sandbox/UpgradeServiceMappingRegistry.rb +145 -0
  119. data/setup.rb +1585 -0
  120. data/test/test_campaign_service.rb +12 -0
  121. data/test/test_keyword_research_service.rb +15 -0
  122. data/test/test_master_account_service.rb +18 -0
  123. data/ysm.properties +6 -0
  124. metadata +171 -0
@@ -0,0 +1,69 @@
1
+ require 'xsd/qname'
2
+
3
+ module YSM::BidInformationService
4
+
5
+
6
+ # {http://marketing.ews.yahooapis.com/V1}BidInformation
7
+ class BidInformation
8
+ attr_accessor :bid
9
+ attr_accessor :cutOffBid
10
+
11
+ def initialize(bid = nil, cutOffBid = nil)
12
+ @bid = bid
13
+ @cutOffBid = cutOffBid
14
+ end
15
+ end
16
+
17
+ # {http://marketing.ews.yahooapis.com/V1}ApiFault
18
+ class ApiFault < ::StandardError
19
+ attr_accessor :code
20
+ attr_accessor :message
21
+
22
+ def initialize(code = nil, message = nil)
23
+ @code = code
24
+ @message = message
25
+ end
26
+ end
27
+
28
+ # {http://schemas.xmlsoap.org/ws/2002/07/secext}Security
29
+ class Security
30
+ attr_accessor :usernameToken
31
+
32
+ def initialize(usernameToken = nil)
33
+ @usernameToken = usernameToken
34
+ end
35
+ end
36
+
37
+ # {http://schemas.xmlsoap.org/ws/2002/07/secext}UsernameToken
38
+ class UsernameToken
39
+ attr_accessor :username
40
+ attr_accessor :password
41
+
42
+ def initialize(username = nil, password = nil)
43
+ @username = username
44
+ @password = password
45
+ end
46
+ end
47
+
48
+ # {http://marketing.ews.yahooapis.com/V1}getBidsForBestRank
49
+ class GetBidsForBestRank
50
+ attr_accessor :adGroupID
51
+ attr_accessor :keyword
52
+
53
+ def initialize(adGroupID = nil, keyword = nil)
54
+ @adGroupID = adGroupID
55
+ @keyword = keyword
56
+ end
57
+ end
58
+
59
+ # {http://marketing.ews.yahooapis.com/V1}getBidsForBestRankResponse
60
+ class GetBidsForBestRankResponse
61
+ attr_accessor :out
62
+
63
+ def initialize(out = nil)
64
+ @out = out
65
+ end
66
+ end
67
+
68
+
69
+ end
@@ -0,0 +1,50 @@
1
+ require 'ysm4r/v1/BidInformationServiceMappingRegistry'
2
+
3
+
4
+ module YSM::BidInformationService
5
+ require 'soap/rpc/driver'
6
+
7
+ class BidInformationService < ::SOAP::RPC::Driver
8
+ DefaultEndpointUrl = "https://USE_ADDRESS_RETURNED_BY_LOCATION_SERVICE/services/V1/BidInformationService"
9
+
10
+ Methods = [
11
+ [ "",
12
+ "getBidsForBestRank",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getBidsForBestRank"]],
14
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getBidsForBestRankResponse"]] ],
15
+ { :request_style => :document, :request_use => :literal,
16
+ :response_style => :document, :response_use => :literal,
17
+ :faults => {"YSM::BidInformationService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
18
+ ]
19
+ ]
20
+
21
+ def initialize(endpoint_url = nil)
22
+ endpoint_url ||= DefaultEndpointUrl
23
+ super(endpoint_url, nil)
24
+ self.mapping_registry = DefaultMappingRegistry::EncodedRegistry
25
+ self.literal_mapping_registry = DefaultMappingRegistry::LiteralRegistry
26
+ init_methods
27
+ end
28
+
29
+ private
30
+
31
+ def init_methods
32
+ Methods.each do |definitions|
33
+ opt = definitions.last
34
+ if opt[:request_style] == :document
35
+ add_document_operation(*definitions)
36
+ else
37
+ add_rpc_operation(*definitions)
38
+ qname = definitions[0]
39
+ name = definitions[2]
40
+ if qname.name != name and qname.name.capitalize == name.capitalize
41
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
42
+ __send__(name, *arg)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ end
@@ -0,0 +1,135 @@
1
+ require 'ysm4r/v1/BidInformationService'
2
+ require 'soap/mapping'
3
+
4
+ module YSM; module BidInformationService
5
+
6
+ module DefaultMappingRegistry
7
+ EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
8
+ LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
9
+
10
+ EncodedRegistry.register(
11
+ :class => YSM::BidInformationService::BidInformation,
12
+ :schema_ns => "http://marketing.ews.yahooapis.com/V1",
13
+ :schema_type => "BidInformation",
14
+ :schema_element => [
15
+ ["bid", "SOAP::SOAPDouble", [0, 1]],
16
+ ["cutOffBid", "SOAP::SOAPDouble", [0, 1]]
17
+ ]
18
+ )
19
+
20
+ EncodedRegistry.register(
21
+ :class => YSM::BidInformationService::ApiFault,
22
+ :schema_ns => "http://marketing.ews.yahooapis.com/V1",
23
+ :schema_type => "ApiFault",
24
+ :schema_element => [
25
+ ["code", "SOAP::SOAPString", [0, 1]],
26
+ ["message", "SOAP::SOAPString", [0, 1]]
27
+ ]
28
+ )
29
+
30
+ EncodedRegistry.register(
31
+ :class => YSM::BidInformationService::Security,
32
+ :schema_ns => "http://schemas.xmlsoap.org/ws/2002/07/secext",
33
+ :schema_type => "Security",
34
+ :schema_element => [
35
+ ["usernameToken", ["YSM::BidInformationService::UsernameToken", XSD::QName.new(nil, "UsernameToken")]]
36
+ ]
37
+ )
38
+
39
+ EncodedRegistry.register(
40
+ :class => YSM::BidInformationService::UsernameToken,
41
+ :schema_ns => "http://schemas.xmlsoap.org/ws/2002/07/secext",
42
+ :schema_type => "UsernameToken",
43
+ :schema_element => [
44
+ ["username", ["SOAP::SOAPString", XSD::QName.new(nil, "Username")]],
45
+ ["password", ["SOAP::SOAPString", XSD::QName.new(nil, "Password")]]
46
+ ]
47
+ )
48
+
49
+ LiteralRegistry.register(
50
+ :class => YSM::BidInformationService::BidInformation,
51
+ :schema_ns => "http://marketing.ews.yahooapis.com/V1",
52
+ :schema_type => "BidInformation",
53
+ :schema_qualified => false,
54
+ :schema_element => [
55
+ ["bid", "SOAP::SOAPDouble", [0, 1]],
56
+ ["cutOffBid", "SOAP::SOAPDouble", [0, 1]]
57
+ ]
58
+ )
59
+
60
+ LiteralRegistry.register(
61
+ :class => YSM::BidInformationService::ApiFault,
62
+ :schema_ns => "http://marketing.ews.yahooapis.com/V1",
63
+ :schema_type => "ApiFault",
64
+ :schema_qualified => false,
65
+ :schema_element => [
66
+ ["code", "SOAP::SOAPString", [0, 1]],
67
+ ["message", "SOAP::SOAPString", [0, 1]]
68
+ ]
69
+ )
70
+
71
+ LiteralRegistry.register(
72
+ :class => YSM::BidInformationService::Security,
73
+ :schema_ns => "http://schemas.xmlsoap.org/ws/2002/07/secext",
74
+ :schema_type => "Security",
75
+ :schema_qualified => false,
76
+ :schema_element => [
77
+ ["usernameToken", ["YSM::BidInformationService::UsernameToken", XSD::QName.new(nil, "UsernameToken")]]
78
+ ]
79
+ )
80
+
81
+ LiteralRegistry.register(
82
+ :class => YSM::BidInformationService::UsernameToken,
83
+ :schema_ns => "http://schemas.xmlsoap.org/ws/2002/07/secext",
84
+ :schema_type => "UsernameToken",
85
+ :schema_qualified => false,
86
+ :schema_element => [
87
+ ["username", ["SOAP::SOAPString", XSD::QName.new(nil, "Username")]],
88
+ ["password", ["SOAP::SOAPString", XSD::QName.new(nil, "Password")]]
89
+ ]
90
+ )
91
+
92
+ LiteralRegistry.register(
93
+ :class => YSM::BidInformationService::GetBidsForBestRank,
94
+ :schema_ns => "http://marketing.ews.yahooapis.com/V1",
95
+ :schema_name => "getBidsForBestRank",
96
+ :schema_qualified => true,
97
+ :schema_element => [
98
+ ["adGroupID", "SOAP::SOAPLong"],
99
+ ["keyword", "SOAP::SOAPString"]
100
+ ]
101
+ )
102
+
103
+ LiteralRegistry.register(
104
+ :class => YSM::BidInformationService::GetBidsForBestRankResponse,
105
+ :schema_ns => "http://marketing.ews.yahooapis.com/V1",
106
+ :schema_name => "getBidsForBestRankResponse",
107
+ :schema_qualified => true,
108
+ :schema_element => [
109
+ ["out", "YSM::BidInformationService::BidInformation"]
110
+ ]
111
+ )
112
+
113
+ LiteralRegistry.register(
114
+ :class => YSM::BidInformationService::ApiFault,
115
+ :schema_ns => "http://marketing.ews.yahooapis.com/V1",
116
+ :schema_name => "ApiFault",
117
+ :schema_qualified => true,
118
+ :schema_element => [
119
+ ["code", "SOAP::SOAPString", [0, 1]],
120
+ ["message", "SOAP::SOAPString", [0, 1]]
121
+ ]
122
+ )
123
+
124
+ LiteralRegistry.register(
125
+ :class => YSM::BidInformationService::Security,
126
+ :schema_ns => "http://schemas.xmlsoap.org/ws/2002/07/secext",
127
+ :schema_name => "Security",
128
+ :schema_qualified => true,
129
+ :schema_element => [
130
+ ["usernameToken", ["YSM::BidInformationService::UsernameToken", XSD::QName.new(nil, "UsernameToken")]]
131
+ ]
132
+ )
133
+ end
134
+
135
+ end; end
@@ -0,0 +1,161 @@
1
+ require 'xsd/qname'
2
+
3
+ module YSM::BudgetingService
4
+
5
+
6
+ # {http://marketing.ews.yahooapis.com/V1}ApiFault
7
+ class ApiFault < ::StandardError
8
+ attr_accessor :code
9
+ attr_accessor :message
10
+
11
+ def initialize(code = nil, message = nil)
12
+ @code = code
13
+ @message = message
14
+ end
15
+ end
16
+
17
+ # {http://schemas.xmlsoap.org/ws/2002/07/secext}Security
18
+ class Security
19
+ attr_accessor :usernameToken
20
+
21
+ def initialize(usernameToken = nil)
22
+ @usernameToken = usernameToken
23
+ end
24
+ end
25
+
26
+ # {http://schemas.xmlsoap.org/ws/2002/07/secext}UsernameToken
27
+ class UsernameToken
28
+ attr_accessor :username
29
+ attr_accessor :password
30
+
31
+ def initialize(username = nil, password = nil)
32
+ @username = username
33
+ @password = password
34
+ end
35
+ end
36
+
37
+ # {http://marketing.ews.yahooapis.com/V1}getAccountDailySpendLimit
38
+ class GetAccountDailySpendLimit
39
+ attr_accessor :accountID
40
+
41
+ def initialize(accountID = nil)
42
+ @accountID = accountID
43
+ end
44
+ end
45
+
46
+ # {http://marketing.ews.yahooapis.com/V1}getAccountDailySpendLimitResponse
47
+ class GetAccountDailySpendLimitResponse
48
+ attr_accessor :out
49
+
50
+ def initialize(out = nil)
51
+ @out = out
52
+ end
53
+ end
54
+
55
+ # {http://marketing.ews.yahooapis.com/V1}getCampaignDailySpendLimitStatus
56
+ class GetCampaignDailySpendLimitStatus
57
+ attr_accessor :campaignID
58
+
59
+ def initialize(campaignID = nil)
60
+ @campaignID = campaignID
61
+ end
62
+ end
63
+
64
+ # {http://marketing.ews.yahooapis.com/V1}getCampaignDailySpendLimitStatusResponse
65
+ class GetCampaignDailySpendLimitStatusResponse
66
+ attr_accessor :out
67
+
68
+ def initialize(out = nil)
69
+ @out = out
70
+ end
71
+ end
72
+
73
+ # {http://marketing.ews.yahooapis.com/V1}updateAccountDailySpendLimit
74
+ class UpdateAccountDailySpendLimit
75
+ attr_accessor :accountID
76
+ attr_accessor :amount
77
+
78
+ def initialize(accountID = nil, amount = nil)
79
+ @accountID = accountID
80
+ @amount = amount
81
+ end
82
+ end
83
+
84
+ # {http://marketing.ews.yahooapis.com/V1}updateAccountDailySpendLimitResponse
85
+ class UpdateAccountDailySpendLimitResponse
86
+ def initialize
87
+ end
88
+ end
89
+
90
+ # {http://marketing.ews.yahooapis.com/V1}getCampaignDailySpendLimit
91
+ class GetCampaignDailySpendLimit
92
+ attr_accessor :campaignID
93
+
94
+ def initialize(campaignID = nil)
95
+ @campaignID = campaignID
96
+ end
97
+ end
98
+
99
+ # {http://marketing.ews.yahooapis.com/V1}getCampaignDailySpendLimitResponse
100
+ class GetCampaignDailySpendLimitResponse
101
+ attr_accessor :out
102
+
103
+ def initialize(out = nil)
104
+ @out = out
105
+ end
106
+ end
107
+
108
+ # {http://marketing.ews.yahooapis.com/V1}updateCampaignDailySpendLimitStatus
109
+ class UpdateCampaignDailySpendLimitStatus
110
+ attr_accessor :campaignID
111
+ attr_accessor :status
112
+
113
+ def initialize(campaignID = nil, status = nil)
114
+ @campaignID = campaignID
115
+ @status = status
116
+ end
117
+ end
118
+
119
+ # {http://marketing.ews.yahooapis.com/V1}updateCampaignDailySpendLimitStatusResponse
120
+ class UpdateCampaignDailySpendLimitStatusResponse
121
+ def initialize
122
+ end
123
+ end
124
+
125
+ # {http://marketing.ews.yahooapis.com/V1}updateCampaignDailySpendLimit
126
+ class UpdateCampaignDailySpendLimit
127
+ attr_accessor :campaignID
128
+ attr_accessor :amount
129
+
130
+ def initialize(campaignID = nil, amount = nil)
131
+ @campaignID = campaignID
132
+ @amount = amount
133
+ end
134
+ end
135
+
136
+ # {http://marketing.ews.yahooapis.com/V1}updateCampaignDailySpendLimitResponse
137
+ class UpdateCampaignDailySpendLimitResponse
138
+ def initialize
139
+ end
140
+ end
141
+
142
+ # {http://marketing.ews.yahooapis.com/V1}getAccountDailySpendLimitStatus
143
+ class GetAccountDailySpendLimitStatus
144
+ attr_accessor :accountID
145
+
146
+ def initialize(accountID = nil)
147
+ @accountID = accountID
148
+ end
149
+ end
150
+
151
+ # {http://marketing.ews.yahooapis.com/V1}getAccountDailySpendLimitStatusResponse
152
+ class GetAccountDailySpendLimitStatusResponse
153
+ attr_accessor :out
154
+
155
+ def initialize(out = nil)
156
+ @out = out
157
+ end
158
+ end
159
+
160
+
161
+ end
@@ -0,0 +1,98 @@
1
+ require 'ysm4r/v1/BudgetingServiceMappingRegistry'
2
+
3
+
4
+ module YSM::BudgetingService
5
+ require 'soap/rpc/driver'
6
+
7
+ class BudgetingService < ::SOAP::RPC::Driver
8
+ DefaultEndpointUrl = "https://USE_ADDRESS_RETURNED_BY_LOCATION_SERVICE/services/V1/BudgetingService"
9
+
10
+ Methods = [
11
+ [ "",
12
+ "getAccountDailySpendLimit",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getAccountDailySpendLimit"]],
14
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getAccountDailySpendLimitResponse"]] ],
15
+ { :request_style => :document, :request_use => :literal,
16
+ :response_style => :document, :response_use => :literal,
17
+ :faults => {"YSM::BudgetingService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
18
+ ],
19
+ [ "",
20
+ "getCampaignDailySpendLimitStatus",
21
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getCampaignDailySpendLimitStatus"]],
22
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getCampaignDailySpendLimitStatusResponse"]] ],
23
+ { :request_style => :document, :request_use => :literal,
24
+ :response_style => :document, :response_use => :literal,
25
+ :faults => {"YSM::BudgetingService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
26
+ ],
27
+ [ "",
28
+ "updateAccountDailySpendLimit",
29
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "updateAccountDailySpendLimit"]],
30
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "updateAccountDailySpendLimitResponse"]] ],
31
+ { :request_style => :document, :request_use => :literal,
32
+ :response_style => :document, :response_use => :literal,
33
+ :faults => {"YSM::BudgetingService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
34
+ ],
35
+ [ "",
36
+ "getCampaignDailySpendLimit",
37
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getCampaignDailySpendLimit"]],
38
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getCampaignDailySpendLimitResponse"]] ],
39
+ { :request_style => :document, :request_use => :literal,
40
+ :response_style => :document, :response_use => :literal,
41
+ :faults => {"YSM::BudgetingService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
42
+ ],
43
+ [ "",
44
+ "updateCampaignDailySpendLimitStatus",
45
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "updateCampaignDailySpendLimitStatus"]],
46
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "updateCampaignDailySpendLimitStatusResponse"]] ],
47
+ { :request_style => :document, :request_use => :literal,
48
+ :response_style => :document, :response_use => :literal,
49
+ :faults => {"YSM::BudgetingService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
50
+ ],
51
+ [ "",
52
+ "updateCampaignDailySpendLimit",
53
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "updateCampaignDailySpendLimit"]],
54
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "updateCampaignDailySpendLimitResponse"]] ],
55
+ { :request_style => :document, :request_use => :literal,
56
+ :response_style => :document, :response_use => :literal,
57
+ :faults => {"YSM::BudgetingService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
58
+ ],
59
+ [ "",
60
+ "getAccountDailySpendLimitStatus",
61
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getAccountDailySpendLimitStatus"]],
62
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://marketing.ews.yahooapis.com/V1", "getAccountDailySpendLimitStatusResponse"]] ],
63
+ { :request_style => :document, :request_use => :literal,
64
+ :response_style => :document, :response_use => :literal,
65
+ :faults => {"YSM::BudgetingService::ApiFault"=>{:name=>"ApiFault", :encodingstyle=>"document", :namespace=>nil, :ns=>"http://marketing.ews.yahooapis.com/V1", :use=>"literal"}} }
66
+ ]
67
+ ]
68
+
69
+ def initialize(endpoint_url = nil)
70
+ endpoint_url ||= DefaultEndpointUrl
71
+ super(endpoint_url, nil)
72
+ self.mapping_registry = DefaultMappingRegistry::EncodedRegistry
73
+ self.literal_mapping_registry = DefaultMappingRegistry::LiteralRegistry
74
+ init_methods
75
+ end
76
+
77
+ private
78
+
79
+ def init_methods
80
+ Methods.each do |definitions|
81
+ opt = definitions.last
82
+ if opt[:request_style] == :document
83
+ add_document_operation(*definitions)
84
+ else
85
+ add_rpc_operation(*definitions)
86
+ qname = definitions[0]
87
+ name = definitions[2]
88
+ if qname.name != name and qname.name.capitalize == name.capitalize
89
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
90
+ __send__(name, *arg)
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+
98
+ end