killbill-catalog-ruby-plugin 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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d285835070603d8b81b53d6b0d8c9da694d234bb
4
+ data.tar.gz: 57e5550dea43effdb5e40dcecb3949e2c18b4f05
5
+ SHA512:
6
+ metadata.gz: 72ff7f416d62919831953317a23e6bde17a6278b62e9e06c17d23a5f5f6b18db9e7141c125f6154e0f5f61ea2cb58f06aafef5ea8dac013c82e0975abee262ee
7
+ data.tar.gz: ca253872a50dd10c9f9a9ec0707aab59ff7263a339c4c251339ae2754fe9b7fffaf4c7c0d0a164e47ba025725b3a3ace9c5d499397988142b37a00defde0aae8
data/.gitignore ADDED
@@ -0,0 +1,33 @@
1
+ *.gem
2
+ *.rbc
3
+ *.swp
4
+ .bundle
5
+ .config
6
+ coverage
7
+ InstalledFiles
8
+ lib/bundler/man
9
+ pkg
10
+ rdoc
11
+ spec/reports
12
+ test/tmp
13
+ test/version_tmp
14
+ tmp
15
+
16
+ # YARD artifacts
17
+ .yardoc
18
+ _yardoc
19
+ doc/
20
+
21
+ .jbundler
22
+
23
+ .DS_Store
24
+
25
+ # Testing database
26
+ test.db
27
+
28
+ target
29
+ pom.xml.asc
30
+
31
+ .idea/
32
+
33
+ Gemfile.head.lock
data/.travis.yml ADDED
@@ -0,0 +1,41 @@
1
+ language: ruby
2
+
3
+ sudo: false
4
+ cache: bundler
5
+
6
+ before_script:
7
+ - bundle exec jbundle install
8
+
9
+ script: 'bundle exec rake spec'
10
+
11
+ notifications:
12
+ email:
13
+ - kill-bill-commits@googlegroups.com
14
+
15
+ env:
16
+ global:
17
+ - JRUBY_OPTS='-J-Xmx1024M'
18
+
19
+ rvm:
20
+ - jruby-1.7.20
21
+ - jruby-20mode # latest 1.7.x
22
+ - jruby-head
23
+
24
+ gemfile:
25
+ - Gemfile
26
+ - Gemfile.head
27
+
28
+ jdk:
29
+ - openjdk7
30
+ - oraclejdk7
31
+ - oraclejdk8
32
+
33
+ matrix:
34
+ allow_failures:
35
+ - rvm: jruby-head
36
+ - jdk: oraclejdk8
37
+ - gemfile: Gemfile.head
38
+ fast_finish: true
39
+
40
+ after_success:
41
+ - '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && echo "<settings><servers><server><id>sonatype-nexus-snapshots</id><username>\${env.OSSRH_USER}</username><password>\${env.OSSRH_PASS}</password></server></servers></settings>" > ~/settings.xml && MVN="mvn --settings $HOME/settings.xml" NO_RELEASE=1 travis_retry travis_wait bash release.sh | egrep -v "Download|Install|Upload" ; rm -f ~/settings.xml'
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ #gem 'killbill', :path => '$REPO_PATH/killbill-plugin-framework-ruby'
data/Gemfile.lock ADDED
@@ -0,0 +1,78 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ killbill-catalog-ruby-plugin (0.1.0)
5
+ killbill (~> 7.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ axiom-types (0.1.1)
11
+ descendants_tracker (~> 0.0.4)
12
+ ice_nine (~> 0.11.0)
13
+ thread_safe (~> 0.3, >= 0.3.1)
14
+ coercible (1.0.0)
15
+ descendants_tracker (~> 0.0.1)
16
+ descendants_tracker (0.0.4)
17
+ thread_safe (~> 0.3, >= 0.3.1)
18
+ diff-lcs (1.1.3)
19
+ equalizer (0.0.11)
20
+ ethon (0.8.0)
21
+ ffi (>= 1.3.0)
22
+ ffi (1.9.10-java)
23
+ ice_nine (0.11.1)
24
+ jar-dependencies (0.3.1)
25
+ jbundler (0.9.2)
26
+ bundler (~> 1.5)
27
+ jar-dependencies (~> 0.2)
28
+ maven-tools (~> 1.0.10)
29
+ ruby-maven (~> 3.3, >= 3.3.3)
30
+ killbill (7.0.0)
31
+ rack (>= 1.5.2)
32
+ sinatra (~> 1.3.4)
33
+ typhoeus (~> 0.6.9)
34
+ tzinfo (~> 1.2.0)
35
+ maven-tools (1.0.13)
36
+ virtus (~> 1.0)
37
+ rack (1.6.4)
38
+ rack-protection (1.5.3)
39
+ rack
40
+ rake (10.4.2)
41
+ rspec (2.12.0)
42
+ rspec-core (~> 2.12.0)
43
+ rspec-expectations (~> 2.12.0)
44
+ rspec-mocks (~> 2.12.0)
45
+ rspec-core (2.12.2)
46
+ rspec-expectations (2.12.1)
47
+ diff-lcs (~> 1.1.3)
48
+ rspec-mocks (2.12.2)
49
+ ruby-maven (3.3.8)
50
+ ruby-maven-libs (~> 3.3.1)
51
+ ruby-maven-libs (3.3.3)
52
+ sinatra (1.3.6)
53
+ rack (~> 1.4)
54
+ rack-protection (~> 1.3)
55
+ tilt (~> 1.3, >= 1.3.3)
56
+ thread_safe (0.3.5-java)
57
+ tilt (1.4.1)
58
+ typhoeus (0.6.9)
59
+ ethon (>= 0.7.1)
60
+ tzinfo (1.2.2)
61
+ thread_safe (~> 0.1)
62
+ virtus (1.0.5)
63
+ axiom-types (~> 0.1)
64
+ coercible (~> 1.0)
65
+ descendants_tracker (~> 0.0, >= 0.0.3)
66
+ equalizer (~> 0.0, >= 0.0.9)
67
+
68
+ PLATFORMS
69
+ java
70
+
71
+ DEPENDENCIES
72
+ jbundler (~> 0.9.2)
73
+ killbill-catalog-ruby-plugin!
74
+ rake (>= 10.0.0)
75
+ rspec (~> 2.12.0)
76
+
77
+ BUNDLED WITH
78
+ 1.10.6
data/Jarfile ADDED
@@ -0,0 +1,11 @@
1
+ jar 'org.kill-bill.billing:killbill-api', '0.32'
2
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.18'
3
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.18'
4
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.18'
5
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.18'
6
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-control', '0.18'
7
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-catalog', '0.18'
8
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-entitlement', '0.18'
9
+ jar 'org.kill-bill.billing:killbill-util:tests', '0.15.10'
10
+ jar 'org.mockito:mockito-all', '1.10.19'
11
+ jar 'javax.servlet:javax.servlet-api', '3.1.0'
data/Jarfile.lock ADDED
@@ -0,0 +1,61 @@
1
+ ---
2
+ :runtime:
3
+ - io.dropwizard.metrics:metrics-core:jar:3.1.1
4
+ - org.kill-bill.billing.plugin:killbill-plugin-api-catalog:jar:0.18
5
+ - com.fasterxml.jackson.core:jackson-core:jar:2.4.3
6
+ - joda-time:joda-time:jar:2.3
7
+ - org.weakref:jmxutils:jar:1.18
8
+ - org.kill-bill.billing.plugin:killbill-plugin-api-notification:jar:0.18
9
+ - commons-beanutils:commons-beanutils:jar:1.8.3
10
+ - org.kill-bill.billing:killbill-internal-api:jar:0.15.10
11
+ - org.kill-bill.commons:killbill-xmlloader:jar:0.11
12
+ - org.kill-bill.billing.plugin:killbill-plugin-api-entitlement:jar:0.18
13
+ - com.google.inject:guice:jar:3.0
14
+ - org.osgi:org.osgi.core:jar:5.0.0
15
+ - org.slf4j:slf4j-api:jar:1.7.12
16
+ - com.samskivert:jmustache:jar:1.5
17
+ - org.kill-bill.billing:killbill-util:jar:tests:0.15.10
18
+ - org.kill-bill.billing.plugin:killbill-plugin-api-currency:jar:0.18
19
+ - org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:jar:1.16
20
+ - com.h2database:h2:jar:1.4.186
21
+ - javax.activation:activation:jar:1.1
22
+ - org.skife.config:config-magic:jar:0.14
23
+ - com.fasterxml.jackson.dataformat:jackson-dataformat-csv:jar:2.4.3
24
+ - org.kill-bill.billing.plugin:killbill-plugin-api-control:jar:0.18
25
+ - org.apache.commons:commons-email:jar:1.2
26
+ - org.mockito:mockito-all:jar:1.10.19
27
+ - antlr:antlr:jar:2.7.7
28
+ - aopalliance:aopalliance:jar:1.0
29
+ - com.fasterxml.jackson.core:jackson-annotations:jar:2.4.3
30
+ - org.antlr:stringtemplate:jar:3.2.1
31
+ - org.kill-bill.commons:killbill-clock:jar:0.11
32
+ - javax.mail:mail:jar:1.4.1
33
+ - org.kill-bill.billing:killbill-platform-base:jar:0.15
34
+ - io.dropwizard.metrics:metrics-ehcache:jar:3.1.1
35
+ - org.slf4j:jcl-over-slf4j:jar:1.7.12
36
+ - org.jdbi:jdbi:jar:2.62
37
+ - org.kill-bill.billing:killbill-platform-api:jar:0.15
38
+ - org.kill-bill.billing:killbill-platform-osgi:jar:0.15
39
+ - org.apache.felix:org.apache.felix.framework:jar:4.4.1
40
+ - org.joda:joda-money:jar:0.9
41
+ - org.kill-bill.commons:killbill-jdbi:jar:0.11
42
+ - org.kill-bill.commons:killbill-embeddeddb-common:jar:0.11
43
+ - org.apache.shiro:shiro-core:jar:1.2.3
44
+ - org.kill-bill.billing:killbill-platform-osgi-api:jar:0.15
45
+ - org.kill-bill.billing.plugin:killbill-plugin-api-payment:jar:0.18
46
+ - com.fasterxml.jackson.core:jackson-databind:jar:2.4.3
47
+ - com.google.guava:guava:jar:r09
48
+ - org.kill-bill.commons:killbill-locker:jar:0.11
49
+ - org.osgi:org.osgi.compendium:jar:5.0.0
50
+ - org.kill-bill.commons:killbill-queue:jar:0.11
51
+ - org.kill-bill.commons:killbill-concurrent:jar:0.11
52
+ - javax.servlet:javax.servlet-api:jar:3.1.0
53
+ - org.apache.shiro:shiro-ehcache:jar:1.2.3
54
+ - javax.inject:javax.inject:jar:1
55
+ - com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.4.3
56
+ - com.google.inject.extensions:guice-multibindings:jar:3.0
57
+ - net.sf.ehcache:ehcache:jar:2.9.1
58
+ - org.kill-bill.billing.plugin:killbill-plugin-api-invoice:jar:0.18
59
+ - org.kill-bill.billing:killbill-api:jar:0.32
60
+ - org.apache.shiro:shiro-guice:jar:1.2.3
61
+ - com.google.code.findbugs:annotations:jar:3.0.0
data/README.md ADDED
@@ -0,0 +1,6 @@
1
+ killbill-catalog-ruby-plugin
2
+ ============================
3
+
4
+ Plugin to highlight the use of the CatalogPluginApi from a ruby plugin.
5
+
6
+ Release builds are available on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.kill-bill.billing.plugin.ruby%22%20AND%20a%3A%22killbill-catalog-ruby-plugin%22) with coordinates `org.kill-bill.billing.plugin.ruby:killbill-catalog-ruby-plugin`.
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env rake
2
+
3
+ # Install tasks to build and release the plugin
4
+ require 'bundler/setup'
5
+ Bundler::GemHelper.install_tasks
6
+
7
+ # Install test tasks
8
+ require 'rspec/core/rake_task'
9
+ desc "Run RSpec"
10
+ RSpec::Core::RakeTask.new
11
+
12
+ # Install tasks to package the plugin for Killbill
13
+ require 'killbill/rake_task'
14
+ Killbill::PluginHelper.install_tasks
15
+
16
+ # Run tests by default
17
+ task :default => :spec
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,30 @@
1
+ version = File.read(File.expand_path('../VERSION', __FILE__)).strip
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = 'killbill-catalog-ruby-plugin'
5
+ s.version = version
6
+ s.summary = 'Catalog Plugin'
7
+ s.description = 'Kill Bill Plugin to illustrate the use of the Catalog Plugin api.'
8
+
9
+ s.required_ruby_version = '>= 1.9.3'
10
+
11
+ s.license = 'Apache License (2.0)'
12
+
13
+ s.author = 'Kill Bill core team'
14
+ s.email = 'killbilling-users@googlegroups.com'
15
+ s.homepage = 'http://killbill.io'
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.bindir = 'bin'
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.require_paths = ["lib"]
22
+
23
+ s.rdoc_options << '--exclude' << '.'
24
+
25
+ s.add_dependency 'killbill', '~> 7.0'
26
+
27
+ s.add_development_dependency 'jbundler', '~> 0.9.2'
28
+ s.add_development_dependency 'rake', '>= 10.0.0'
29
+ s.add_development_dependency 'rspec', '~> 2.12.0'
30
+ end
@@ -0,0 +1,3 @@
1
+ mainClass=CatalogControlPluginModule::CatalogControlPlugin
2
+ require=killbill-catalog-ruby-plugin
3
+ pluginType=CATALOG
@@ -0,0 +1,2 @@
1
+ require 'killbill'
2
+ require 'killbill-catalog-ruby-plugin/api'
@@ -0,0 +1,145 @@
1
+ require 'date'
2
+
3
+ module CatalogControlPluginModule
4
+
5
+ class CatalogControlPlugin < Killbill::Plugin::CatalogPluginApi
6
+
7
+ def initialize
8
+ super
9
+ end
10
+
11
+ #
12
+ # Will build a dummy plugin catalog with one version, and one plan
13
+ # (The goal is to verify all the plumbing is working and Kill Bill can create a subscription based on that plugin catalog)
14
+ #
15
+ def get_versioned_plugin_catalog(properties, context)
16
+ standalone_catalogs = create_standalone_catalogs
17
+ version_catalog = create_versioned_plugin_catalog(standalone_catalogs)
18
+ version_catalog
19
+ end
20
+
21
+
22
+ private
23
+
24
+ def create_versioned_plugin_catalog(standalone_catalogs)
25
+ version_catalog = Killbill::Plugin::Model::VersionedPluginCatalog.new
26
+ version_catalog.catalog_name = 'demo'
27
+ version_catalog.recurring_billing_mode = :IN_ARREAR
28
+ version_catalog.standalone_plugin_catalogs = standalone_catalogs
29
+ version_catalog
30
+ end
31
+
32
+ def create_standalone_catalogs
33
+ standalone_catalogs = []
34
+ product = create_product
35
+ phase = create_phase
36
+ plan = create_plan(product, phase)
37
+ pricelist = create_price_list([plan])
38
+
39
+ catalog = Killbill::Plugin::Model::StandalonePluginCatalog.new
40
+ catalog.effective_date = DateTime.parse("2012-01-20T07:30:42.000Z").iso8601(3)
41
+ catalog.currencies = [:USD]
42
+ catalog.units = []
43
+ catalog.products = [product]
44
+ catalog.plans = [plan]
45
+ catalog.default_price_list = pricelist
46
+ catalog.children_price_list = []
47
+ catalog.plan_rules = Killbill::Plugin::Model::PlanRules.new
48
+ standalone_catalogs << catalog
49
+ standalone_catalogs
50
+ end
51
+
52
+
53
+ def create_rules
54
+ p = Killbill::Plugin::Model::PlanRules.new
55
+ p.case_change_plan_policy = []
56
+ p.case_change_plan_alignment = []
57
+ p.case_cancel_policy = []
58
+ p.case_create_alignment = []
59
+ p.case_billing_alignment = []
60
+ p.case_price_list = []
61
+ p
62
+ end
63
+
64
+ def create_price_list(plans)
65
+ p = Killbill::Plugin::Model::PriceList.new
66
+ p.name = 'DEFAULT'
67
+ p.is_retired = false
68
+ p.plans = plans
69
+ p
70
+ end
71
+
72
+ def create_product
73
+ p = Killbill::Plugin::Model::Product.new
74
+ p.name = 'Gold'
75
+ p.is_retired = false
76
+ p.available = []
77
+ p.included = []
78
+ p.category = :BASE
79
+ #p.catalog_name =
80
+ p.limits = []
81
+ p
82
+ end
83
+
84
+ def create_plan(product, phase)
85
+ p = Killbill::Plugin::Model::Plan.new
86
+ p.initial_phases = []
87
+ p.product = product
88
+ p.name = 'gold-monthly'
89
+ p.is_retired = false
90
+ p.final_phase = phase
91
+ p.all_phases = [phase]
92
+ p.recurring_billing_period = :MONTHLY
93
+ p.plans_allowed_in_bundle = -1
94
+ p
95
+ end
96
+
97
+ def create_phase
98
+ p = Killbill::Plugin::Model::PlanPhase.new
99
+ tmp_recurring = create_recurring
100
+ tmp_duration = create_duration
101
+ p.fixed = nil
102
+ p.recurring = tmp_recurring
103
+ p.usages = []
104
+ p.name = 'gold-monthly-evergreen'
105
+ p.duration = tmp_duration
106
+ p.phase_type = :EVERGREEN
107
+ p
108
+ end
109
+
110
+ def create_recurring
111
+ p = Killbill::Plugin::Model::Recurring.new
112
+ tmp_international_price = create_international_price
113
+ p.billing_period = :MONTHLY
114
+ p.recurring_price = tmp_international_price
115
+ p
116
+ end
117
+
118
+
119
+ def create_international_price
120
+ p = Killbill::Plugin::Model::InternationalPrice.new
121
+ tmp_prices = create_prices
122
+ p.prices = tmp_prices
123
+ p.is_zero = false
124
+ p
125
+ end
126
+
127
+ def create_prices
128
+ # :currency, :value
129
+ prices = []
130
+ p = Killbill::Plugin::Model::Price.new
131
+ p.currency = :USD
132
+ p.value = BigDecimal.new('13.6')
133
+ prices << p
134
+ prices
135
+ end
136
+
137
+ def create_duration
138
+ p = Killbill::Plugin::Model::Duration.new
139
+ p.number = 1
140
+ p.unit = :MONTHS
141
+ p
142
+ end
143
+
144
+ end
145
+ end
data/pom.xml ADDED
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ ~ Copyright 2014-2015 Groupon, Inc
4
+ ~ Copyright 2014-2015 The Billing Project, LLC
5
+ ~
6
+ ~ The Billing Project licenses this file to you under the Apache License, version 2.0
7
+ ~ (the "License"); you may not use this file except in compliance with the
8
+ ~ License. You may obtain a copy of the License at:
9
+ ~
10
+ ~ http://www.apache.org/licenses/LICENSE-2.0
11
+ ~
12
+ ~ Unless required by applicable law or agreed to in writing, software
13
+ ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ ~ License for the specific language governing permissions and limitations
16
+ ~ under the License.
17
+ -->
18
+
19
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
20
+ <parent>
21
+ <groupId>org.sonatype.oss</groupId>
22
+ <artifactId>oss-parent</artifactId>
23
+ <version>5</version>
24
+ </parent>
25
+ <modelVersion>4.0.0</modelVersion>
26
+ <groupId>org.kill-bill.billing.plugin.ruby</groupId>
27
+ <artifactId>killbill-catalog-ruby-plugin</artifactId>
28
+ <packaging>pom</packaging>
29
+ <version>0.1.0</version>
30
+ <name>killbill-catalog-ruby-plugin</name>
31
+ <description></description>
32
+ <scm>
33
+ <connection>scm:git:git://github.com/killbill/killbill-catalog-ruby-plugin.git</connection>
34
+ <url>https://github.com/killbill/killbill-catalog-ruby-plugin/</url>
35
+ <developerConnection>scm:git:git@github.com:killbill/killbill-catalog-ruby-plugin.git</developerConnection>
36
+ </scm>
37
+ </project>
data/release.sh ADDED
@@ -0,0 +1,61 @@
1
+ set -e
2
+
3
+ BUNDLE=${BUNDLE-"bundle exec"}
4
+ MVN=${MVN-"mvn"}
5
+
6
+ if [ 'GNU' != "$(tar --help | grep GNU | head -1 | awk '{print $1}')" ]; then
7
+ echo 'Unable to release: make sure to use GNU tar'
8
+ exit 1
9
+ fi
10
+
11
+ if $(ruby -e'require "java"'); then
12
+ # Good
13
+ echo 'Detected JRuby'
14
+ else
15
+ echo 'Unable to release: make sure to use JRuby'
16
+ exit 1
17
+ fi
18
+
19
+ VERSION=`grep -E '<version>([0-9]+\.[0-9]+\.[0-9]+)</version>' pom.xml | sed 's/[\t \n]*<version>\(.*\)<\/version>[\t \n]*/\1/'`
20
+ if [[ -z "$NO_RELEASE" && "$VERSION" != "$(cat $PWD/VERSION)" ]]; then
21
+ echo 'Unable to release: make sure the versions in pom.xml and VERSION match'
22
+ exit 1
23
+ fi
24
+
25
+ echo 'Cleaning up'
26
+ $BUNDLE rake killbill:clean
27
+
28
+ echo 'Building gem'
29
+ $BUNDLE rake build
30
+
31
+ if [[ -z "$NO_RELEASE" ]]; then
32
+ echo 'Pushing the gem to Rubygems'
33
+ $BUNDLE rake release
34
+ fi
35
+
36
+ echo 'Building artifact'
37
+ $BUNDLE rake killbill:package
38
+
39
+ ARTIFACT="$PWD/pkg/killbill-catalog-ruby-$VERSION.tar.gz"
40
+ echo "Pushing $ARTIFACT to Maven Central"
41
+
42
+ if [[ -z "$NO_RELEASE" ]]; then
43
+ GOAL=gpg:sign-and-deploy-file
44
+ REPOSITORY_ID=ossrh-releases
45
+ URL=https://oss.sonatype.org/service/local/staging/deploy/maven2/
46
+ else
47
+ GOAL=deploy:deploy-file
48
+ REPOSITORY_ID=sonatype-nexus-snapshots
49
+ URL=https://oss.sonatype.org/content/repositories/snapshots/
50
+ VERSION="$VERSION-SNAPSHOT"
51
+ fi
52
+
53
+ $MVN $GOAL \
54
+ -DgroupId=org.kill-bill.billing.plugin.ruby \
55
+ -DartifactId=killbill-catalog-ruby-plugin \
56
+ -Dversion=$VERSION \
57
+ -Dpackaging=tar.gz \
58
+ -DrepositoryId=$REPOSITORY_ID \
59
+ -Durl=$URL \
60
+ -Dfile=$ARTIFACT \
61
+ -DpomFile=pom.xml
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+ require 'logger'
3
+
4
+ require 'killbill-catalog-ruby-plugin'
5
+
6
+ describe CatalogControlPluginModule::CatalogControlPlugin do
7
+ before(:each) do
8
+
9
+ kb_apis = Killbill::Plugin::KillbillApi.new("killbill-catalog-ruby-plugin", {})
10
+ @plugin = CatalogControlPluginModule::CatalogControlPlugin.new
11
+ @plugin.logger = Logger.new(STDOUT)
12
+ @plugin.kb_apis = kb_apis
13
+
14
+ end
15
+
16
+ it "should start and stop correctly" do
17
+ @plugin.start_plugin
18
+ @plugin.stop_plugin
19
+ end
20
+
21
+
22
+ end
@@ -0,0 +1,9 @@
1
+ require 'bundler'
2
+
3
+ require 'rspec'
4
+
5
+ RSpec.configure do |config|
6
+ config.color_enabled = true
7
+ config.tty = true
8
+ config.formatter = 'documentation'
9
+ end
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: killbill-catalog-ruby-plugin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Kill Bill core team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-12-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: killbill
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '7.0'
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ~>
23
+ - !ruby/object:Gem::Version
24
+ version: '7.0'
25
+ prerelease: false
26
+ type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: jbundler
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.2
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 0.9.2
39
+ prerelease: false
40
+ type: :development
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 10.0.0
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - '>='
51
+ - !ruby/object:Gem::Version
52
+ version: 10.0.0
53
+ prerelease: false
54
+ type: :development
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.12.0
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 2.12.0
67
+ prerelease: false
68
+ type: :development
69
+ description: Kill Bill Plugin to illustrate the use of the Catalog Plugin api.
70
+ email: killbilling-users@googlegroups.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - .gitignore
76
+ - .travis.yml
77
+ - Gemfile
78
+ - Gemfile.lock
79
+ - Jarfile
80
+ - Jarfile.lock
81
+ - README.md
82
+ - Rakefile
83
+ - VERSION
84
+ - killbill-catalog-ruby-plugin.gemspec
85
+ - killbill.properties
86
+ - lib/killbill-catalog-ruby-plugin.rb
87
+ - lib/killbill-catalog-ruby-plugin/api.rb
88
+ - pom.xml
89
+ - release.sh
90
+ - spec/killbill-catalog-ruby-plugin/base_plugin_spec.rb
91
+ - spec/spec_helper.rb
92
+ homepage: http://killbill.io
93
+ licenses:
94
+ - Apache License (2.0)
95
+ metadata: {}
96
+ post_install_message:
97
+ rdoc_options:
98
+ - --exclude
99
+ - .
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - '>='
105
+ - !ruby/object:Gem::Version
106
+ version: 1.9.3
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 2.1.9
115
+ signing_key:
116
+ specification_version: 4
117
+ summary: Catalog Plugin
118
+ test_files: []