Mercurial Hosting > luan
diff stripe/src/luan/modules/stripe/StripeLuan.java @ 402:62b457c50594
add stripe;
change Luan.values to only return values, not indexes;
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 28 Apr 2015 22:38:31 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stripe/src/luan/modules/stripe/StripeLuan.java Tue Apr 28 22:38:31 2015 -0600 @@ -0,0 +1,80 @@ +package luan.modules.stripe; + +import luan.Luan; +import luan.LuanTable; +import luan.LuanProperty; +import com.stripe.model.Customer; +import com.stripe.model.Charge; +import com.stripe.model.Subscription; +import java.util.List; + + +public final class StripeLuan { + + public static LuanTable table(final Customer customer) { + + LuanTable tbl = Luan.newPropertyTable(); + + tbl.put( "id", new LuanProperty() { + @Override public Object get() { + return customer.getId(); + } + } ); + + tbl.put( "subscription_status", new LuanProperty() { + @Override public Object get() { + Subscription s = getSubscription(customer); + return s==null ? null : s.getStatus(); + } + } ); + + return tbl; + } + + public static LuanTable table(final Charge charge) { + LuanTable tbl = Luan.newPropertyTable(); + + tbl.put( "id", new LuanProperty() { + @Override public Object get() { + return charge.getId(); + } + } ); + + tbl.put( "amount", new LuanProperty() { + @Override public Object get() { + return charge.getAmount(); + } +/* + @Override public boolean set(Object value) { + charge.setAmount(check_integer(value)); return true; + } +*/ + } ); + + return tbl; + } + + public static Subscription getSubscription(Customer customer) { + List<Subscription> list = customer.getSubscriptions().getData(); + switch(list.size()) { + case 0: + return null; + case 1: + return list.get(0); + default: + throw new RuntimeException("more than 1 subscription"); + } + } +/* + private static Integer check_integer(Object value) { + if( value==null ) + return (Integer)null; + Integer i = Luan.asInteger(value); + if( i==null ) + throw new IllegalArgumentException("value must be an integer"); + return i; + } +*/ +} + +// http://javadox.com/com.stripe/stripe-java/1.2.1/overview-summary.html